Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apollo-level2-web-dev/university-management-auth-service
This is a tutorial project designed for the "Programming Hero Next Level Web Development Course." It offers a hands-on learning experience in building a robust web application using Mongoose, MongoDB, and Express. The tutorial provides step-by-step instructions, code examples, and best practices to help you enhance your web development skills.
https://github.com/apollo-level2-web-dev/university-management-auth-service
express mongodb mongoose typescript
Last synced: 24 days ago
JSON representation
This is a tutorial project designed for the "Programming Hero Next Level Web Development Course." It offers a hands-on learning experience in building a robust web application using Mongoose, MongoDB, and Express. The tutorial provides step-by-step instructions, code examples, and best practices to help you enhance your web development skills.
- Host: GitHub
- URL: https://github.com/apollo-level2-web-dev/university-management-auth-service
- Owner: Apollo-Level2-Web-Dev
- Created: 2023-05-27T21:39:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-25T14:05:14.000Z (about 1 year ago)
- Last Synced: 2023-10-25T15:51:50.193Z (about 1 year ago)
- Topics: express, mongodb, mongoose, typescript
- Language: TypeScript
- Homepage:
- Size: 351 KB
- Stars: 37
- Watchers: 5
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# University Management System Authentication Service
This is the documentation for the Authentication Service component of the University Management System. The Authentication Service provides authentication and authorization functionalities for the three main roles in the system: Admin, Student, and Faculty. It is built using TypeScript, Express.js, Zod validation, and MongoDB.
## Functional Requirements
### Student
- Student can login and log out.
- Student can manage and update their profile.
- Student can update certain fields.### Admin
- Admin can log in and log out.
- Admin can manage and update their profile.
- Admin can only update certain fields.
- Admin can manage user accounts:
- Change Password### Faculty
- Faculty can log in and log out.
- Faculty can manage and update their profile.
- Faculty can only update certain fields.## API Endpoints
### User
- `POST /users/create-student`
- `POST /users/create-faculty`
- `POST /users/create-admin`### Student
- `GET /students`
- `GET /students?searchTerm=fr797`
- `GET /students?page=1&limit=10&sortBy=gender&sortOrder=asc`
- `GET /students/:id`
- `PATCH /students/:id`
- `DELETE /students/:id`### Faculty
- `GET /faculties`
- `GET /faculties?searchTerm=john`
- `GET /faculties?page=1&limit=10&sortBy=gender&sortOrder=asc`
- `GET /faculties/:id`
- `PATCH /faculties/:id`
- `DELETE /faculties/:id`### Admin
- `GET /admins`
- `GET /admins?searchTerm=us88`
- `GET /admins?page=1&limit=10&sortBy=gender&sortOrder=asc`
- `GET /admins/:id`
- `PATCH /admins/:id`
- `DELETE /admins/:id`### Academic Semester
- `POST /academic-semesters/create-semester`
- `GET /academic-semesters`
- `GET /academic-semesters?searchTerm=fal`
- `GET /academic-semesters?page=1&limit=10&sortBy=year&sortOrder=asc`
- `GET /academic-semesters/:id`
- `PATCH /academic-semesters/:id`
- `DELETE /academic-semesters/:id`### Academic Department
- `POST /academic-departments/create-department`
- `GET /academic-departments`
- `GET /academic-departments?searchTerm=math`
- `GET /academic-departments?page=1&limit=10&sortBy=title&sortOrder=asc`
- `GET /academic-departments/:id`
- `PATCH /academic-departments/:id`
- `DELETE /academic-departments/:id`### Academic Faculty
- `POST /academic-faculties/create-faculty`
- `GET /academic-faculties`
- `GET /academic-faculties?searchTerm=com`
- `GET /academic-faculties?page=1&limit=10&sortBy=title&sortOrder=asc`
- `GET /academic-faculties/:id`
- `PATCH /academic-faculties/:id`
- `DELETE /academic-faculties/:id`### Authentication
- `POST /auth/login`
- `POST /auth/change-password`
- `POST /auth/refresh-token`Postman Documenttaion: [Click Here](https://documenter.getpostman.com/view/26682150/2s93zB72V9#acc25f08-de78-478b-809d-837ce239d2b3)