https://github.com/ahmed-saayed/university-management-system
Wep Api .NetCore
https://github.com/ahmed-saayed/university-management-system
backend-api csharp dotnet-core webapi-core
Last synced: 10 months ago
JSON representation
Wep Api .NetCore
- Host: GitHub
- URL: https://github.com/ahmed-saayed/university-management-system
- Owner: Ahmed-Saayed
- Created: 2025-03-12T05:28:57.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-03-12T05:37:53.000Z (11 months ago)
- Last Synced: 2025-03-12T06:27:02.383Z (11 months ago)
- Topics: backend-api, csharp, dotnet-core, webapi-core
- Language: C#
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# University-Management-System
🎯This project Api is a University Management System API built using ASP.NET Core. The API provides endpoints to manage various entities in a school environment, such as Students, Courses, Instructors, Departments, and Faculties. It also includes JWT authentication for user registration and login.

💥Features
- 🔐JWT authentication system for user registration and login.
- 🔑Hashed Password Encryption for users.
- CRUD operations for Students, Courses, Teachers, Departments, and Faculties.
- Methods authorized by manager.
- Repository Pattern for stucture and cleaning code with reduce duplication.
- Many-to-many relationship between Students and Courses.
- One-to-many relationships between Department and Students, Faculty and Departments, Department and Students, Department and Courses.
📌Endpoints
Auth
(Ensure first of all register as a manager and its email = HellowIamManager and password = any thing you want!!)
-
Post /api/Auth/Register: register -
Post /api/Auth/Login: login
Student
-
Get /api/Student: Get List Of Students -
Post /api/Student: Add Student -
Get /api/Student/Get courses of student/{id}: Get courses name of student with {id} -
Get /api/Student/{id}: Get details of student with {id} -
Put /api/Student/{id}: Update student with {id} -
Post /api/Student/Add Course/{idstudent}/{idcourse}: add course with {idcourse} to student with {idstudent} -
Delete /api/Student/Add Course/{idstudent}/{idcourse}: delete course with {idcourse} of student with {idstudent}
Instructor
-
Get /api/Instructor: Get List Of Instructors -
Post /api/Instructor: Add Instructor -
Get /api/Instructor/Get course of Instructor/{id}: Get course name of instructor with {id} -
Get /api/Instructor/{id}: Get details of instructor with {id} -
Put /api/Instructor/{id}: Update instructor with {id} -
Delete /api/Instructor/{id}: delete instructor with {id}
Faculty
-
Get /api/Faculty: Get List Of faculties -
Post /api/Faculty: Add faculty -
Get /api/Faculty/GetAllDepartment/{id}: Get All Department of faculty with {id} -
Get /api/Faculty/GetAllStudents/{id}: Get All students of faculty with {id} -
Get /api/Faculty/GetAllInstructors/{id}: Get All instructors of faculty with {id} -
Get /api/Faculty/{id}: get faculty with {id} -
Update /api/Faculty/{id}: update faculty with {id} -
Delete /api/Faculty/{id}: delete faculty with {id}
Department
-
Get /api/Department: Get List Of departments -
Post /api/Department: Add department -
Get /api/Department/GetAllCourses/{id}: Get all courses of Department with {id} -
Get /api/Department/GetAllStudents/{id}: Get All students of Department with {id} -
Get /api/Department/GetAllInstructors/{id}: Get All instructors of Department with {id} -
Get /api/Department/{id}: get Department with {id} -
Update /api/Department/{id}: update Department with {id} -
Delete /api/Department/{id}: delete Department with {id}
Course
-
Get /api/Course: Get List Of Courses -
Post /api/Course: Add Course -
Get /api/Course/{id}: get Course with {id} -
Update /api/Course/{id}: update Course with {id} -
Delete /api/Course/{id}: delete Course with {id}
🔐Authentication
This API uses JWT authentication for user registration and login. Users need to register and login to obtain a refresh token, which they will use to access the various entity endpoints.
🥇Technologies
- ASP.NET Core for building the API.
- AutoMapper for mapping between entity models and DTOs.
- JWT authentication for user security.
- Refresh Token
- Entity Framework Core for database operations.
- SQL Server.
🌹How to Run the Project
- Clone this repository to your local machine.
- Open the project in your preferred IDE.
- Add migration
Add-Migration init - Update Data base
Update-Database - Run the project
- Finally do not Forget to Register as a manager with Email = HellowIamManager with any password to be Authorized to access Methods