API Endpoints:
Authentication & Authorization:
Sign-Up: Register a new user with detailed information.
Login: Authenticate users and provide secure session tokens using JWT.
Logout: Securely revoke session tokens.
Password Recovery: Send OTP and reset the password with validation.
User Management:
Update Account: Modify user details like email or last name.
Delete Account: Remove user profiles securely.
Retrieve Account Details: Fetch user information, including account-specific queries.
Change Password: Update login credentials.
Company Management:
Create Company: Add new company profiles with industry-specific details.
Update Company: Modify company information such as email or name.
Delete Company: Remove a company profile.
Search Company by Name: Retrieve companies based on their name.
View Job Applications: Track job applications for specific positions.
Job Management:
Add Job: Post a new job listing with details like skills required, job type, and location.
Update Job: Modify existing job details, such as title or description.
Delete Job: Remove job postings.
View All Jobs: List all available job opportunities.
Filter by Company: View jobs posted by a specific company.
Apply for Job: Submit applications with tech/soft skills and a resume upload.
Tech Stack:
Node.js & Express.js: For a structured backend and API routing.
MongoDB & Mongoose: To model and manage data efficiently.
JWT: For token-based secure authentication.
Joi: To validate user input and maintain data integrity.