Skip to content

mo453908/SmartScheduleAPI

Repository files navigation

SmartScheduleAPI

🎓 SmartSchedule - Intelligent University Timetable Generator 🕒📚

This project is an intelligent scheduling system that automatically generates optimized class timetables for university departments.


🚀 Features

✅ Automatic timetable generation
✅ Conflict-free slots
✅ Multiple courses, instructors, classrooms
✅ REST API for integration
✅ Built with ASP.NET Core Web API + Entity Framework + SQL Server


🛠️ Technologies Used

  • C#
  • ASP.NET Core Web API
  • Entity Framework Core
  • SQL Server
  • Swagger (for API testing)
  • GitHub for version control

📸 Screenshots

Add a screenshot here of Swagger API or your Frontend later!


⚙️ How to Run the Project

1️⃣ Clone the project:

git clone https://github.com/mo453908/SmartScheduleAPI.git


## 🛠️ Database Structure

Table	                               Description
Department	                          بيانات الأقسام               
Course	                          بيانات المواد الدراسية
Instructor	                           بيانات المحاضرين  
Classroom	                             بيانات القاعات
Student	                                  بيانات الطلاب
Schedule                       	الجداول الدراسية المولدة
ScheduleSlot	              تفاصيل كل حصة داخل الجدول

⚙️ How to Run the Project

1️- Clone the repository:
   git clone https://github.com/mo453908/SmartScheduleAPI.git
   cd SmartScheduleAPI/SmartScheduleAPI
    

    2️- Open in Visual Studio or VS Code


    3️- Setup the database:
    افتح appsettings.json

حدّث الاتصال بقاعدة البيانات:

"ConnectionStrings": {
  "DefaultConnection": "Server=.;Database=SmartScheduleDb;Trusted_Connection=True;"
}


شغل المايجريشن:

dotnet ef database update


4️- Run the project:
dotnet run


5️- Test the API (Swagger)
https://localhost:<PORT>/swagger
استبدل <PORT> بالرقم الظاهر في البرنامج عند التشغيل


📌 API Endpoints
| Method | Endpoint                | Description           |
| ------ | ----------------------- | --------------------- |
| GET    | /api/schedules          | Get all schedules     |
| POST   | /api/schedules/generate | Generate new schedule |
| GET    | /api/schedules/{id}     | Get schedule by ID    |
| DELETE | /api/schedules/{id}     | Delete schedule       |

🧑‍💻 Author
Name: Mohamed Ali Mohamed El-Qenawy

Email: mohamadali7937@gmail.com

GitHub: mo453908

🌟 Future Improvements
إضافة واجهة Frontend (React / HTML)

نظام تسجيل دخول / Authentication

خوارزمية Scheduling أكثر تطورًا

📄 License

MIT License

---

### ✅ بعد ما تكتب كده:

1️⃣ **اعمل Save للملف `README.md`.**  
2️⃣ كمل على الـ Git:

```bash
git add README.md
git commit -m "Added README.md"
git push


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages