Skip to content

a powerful microservice for managing numerous authentication and authorizations of an university

License

Notifications You must be signed in to change notification settings

jamiul-islam/university-management-auth

Repository files navigation

University Management App

👉 live server

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.

Functional Requirements

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

ERP Model

ERP Model

How Query is Handled

query model

Dynamic id generation

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

API Reference

api for users

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)

api for students

students?page=1&limit=10 (GET)
students/:id  (GET)
students/:id    (PATCH)

api for faculties

faculties?page=1&limit=10 (GET)
faculties/:id  (GET)
faculties/:id    (PATCH)

api for admins

admins?page=1&limit=10 (GET)
admins/:id  (GET)
admin/:id    (PATCH)
Parameter Type Description
api_key string optional. Your API key

Author

About

a powerful microservice for managing numerous authentication and authorizations of an university

Resources

License

Stars

Watchers

Forks