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 Mongoose.
This repo is on authentication microservice - a university management system where we have three types of roles such as Admin, Student, Faculty.
Student
- Student can login and log out
- Student can manage and update their profile.
- Student can manage and update their profile.
- Student can update certain fields.
- Student can enroll in a semester.
- Student can enroll in offered courses for a specific semester.
- Student can pay their tuition fees through offline or online.(Partial / Full Payment)
- Student can see their transaction histories.
- Student can see their class routines.
- Student can see their otice board and events.
- Student can see their result (Full / Semester Wise).
- Student can evaluate their teachers.
Admin
- Admin can login and log out.
- Admin can manage and update their profile.
- Admin can only update certain fields.
- Admin can manage user accounts.
- Block/Unblock users
- Change Password
- Forcefully Log out
- Admin can manage multiple process
- manage Semester
- manage Offered Courses
- manage Section
- manage Faculty
- manage Student
- see and edit Building Information
- see and editRoom
- manage Payment
- manage Permissions
- manage Activity
Faculty
- Faculty can log in and log out.
- Faculty can manage and update their profile.
- Faculty can only update certain fields.
- Faculty can manage user accounts.
- Faculty can manage student grades.
- Access to Academic and Personal Information.
- Faculty can manage their lecture resources.
👉 Functional Requirements full document
| name | faculty id | student id | admin id |
|---|---|---|---|
| formula | Faculty F followed by 00001 | last 2 digits of year + semester code + 00001 | Admin A followed by 00001 |
| exp | F00001 | 250300001 | A00001 |
users/create-student (POST)
users/create-faculty (POST)
users/create-admin (POST)
users/api/v1/academic-semester/create-semester (POST)
users/my-profile (GET)
users/:id (GET)
users/:id (PATCH)
user/:id (DELETE)
users/:id/force-logged-out
users?page=1&limit=10 (GET)
users/:id/available-permissions?page=1&limit=10 (GET)
users/:id/assigned-permissions?page=1&limit=10 (GET)
users/:id/assign-permissions (POST)
users/:id/remove-permissions (POST)students?page=1&limit=10 (GET)
students/:id (GET)
students/:id (PATCH)faculties?page=1&limit=10 (GET)
faculties/:id (GET)
faculties/:id (PATCH)admins?page=1&limit=10 (GET)
admins/:id (GET)
admin/:id (PATCH)| Parameter | Type | Description |
|---|---|---|
api_key |
string |
optional. Your API key |
- linkedin: @jamiul-islam
- twitter: @jamiul-islam

