An open API service indexing awesome lists of open source software.

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

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.

![Image](https://github.com/user-attachments/assets/a60dc2b1-f06c-4aeb-950a-452ffeb68450)

💥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



  1. Clone this repository to your local machine.

  2. Open the project in your preferred IDE.

  3. Add migration Add-Migration init

  4. Update Data base Update-Database

  5. Run the project

  6. Finally do not Forget to Register as a manager with Email = HellowIamManager with any password to be Authorized to access Methods