This project is a Learning Management System (LMS) backend developed using NestJS, MongoDB, and TypeScript. It is designed to manage user authentication, profiles, NEET prediction, psychometric assessments, and resources like blogs and FAQs. The application follows best practices in security, performance optimization, and real-time updates, making it a robust solution for educational consultancy platforms.
- Description: Manages user authentication using JWT.
- Controllers: AuthController
- Services: AuthService
- Entities: User
- Endpoints:
POST /auth/signup
: Register a new user.POST /auth/login
: Authenticate a user and issue a JWT.POST /auth/forgot-password
: Initiate password recovery.POST /auth/reset-password
: Reset the user's password.
- Methods:
signup()
: Registers a new user.login()
: Authenticates the user and returns a JWT.validateUser()
: Validates user credentials.forgotPassword()
: Initiates password recovery.resetPassword()
: Resets the user's password.
- Description: Manages user data.
- Controllers: UsersController
- Services: UsersService
- Entities: User
- Endpoints:
GET /users/profile
: Get the profile of the logged-in user.PUT /users/profile
: Update the profile of the logged-in user.
- Methods:
getUserProfile()
: Retrieves the user's profile.updateUserProfile()
: Updates the user's profile.
- Description: Provides functionality for the NEET predictor tool.
- Controllers: NeetPredictorController
- Services: NeetPredictorService
- Endpoints:
POST /neet-predictor/predict
: Predict NEET rank and admission possibilities.
- Methods:
predict()
: Processes NEET scores and other inputs to predict ranks and admission possibilities.
- Description: Manages psychometric assessments.
- Controllers: PsychometricAssessmentController
- Services: PsychometricAssessmentService
- Endpoints:
POST /psychometric-assessment/take
: Submit answers for the psychometric assessment.GET /psychometric-assessment/results
: Retrieve assessment results.
- Methods:
takeAssessment()
: Handles the submission of assessment answers.getResults()
: Retrieves the assessment results.
- Description: Manages blog posts, FAQs, and guides.
- Controllers: BlogController, FaqController
- Services: BlogService, FaqService
- Endpoints:
GET /blog
: Retrieve blog posts.GET /blog/:id
: Retrieve a specific blog post.
- Endpoints:
GET /faq
: Retrieve FAQs.
- Methods:
getAllPosts()
: Retrieves all blog posts.getPostById()
: Retrieves a specific blog post by ID.
- Methods:
getAllFaqs()
: Retrieves all FAQs.