You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project is a backend API built with Node.js, Express, and PostgreSQL, designed to support an Admin Panel with user management, role-based access control, and project management features. The API allows Admins to create and assign users, manage projects, and keep track of important actions via audit logs.
Objective
The goal of this project is to implement a backend system where:
Admins can manage users and projects.
Managers can assign employees to projects.
Employees can view their assigned projects.
The API implements authentication and authorization, ensuring that users have appropriate access based on their roles.
Task Requirements
User Authentication: User login, signup, and JWT token-based authentication.
User Role Management: Admins can create users and assign them roles (Admin, Manager, or Employee).
Project Management: Admins can create, update, and soft delete projects. Managers can assign employees to the projects assigned to them.
Audit Logs: Records key actions such as creating, updating, or deleting resources.
Features
JWT Authentication: Secure authentication using JWT tokens for protected routes.
Role-Based Access Control: Different access levels for Admin, Manager, and Employee roles.
Soft Delete: Soft delete and restore functionalities for users and projects.
Audit Logs: Track who performed actions like creating, updating, and deleting resources.
SQL (PostgreSQL) Integration: Use PostgreSQL as the database, with Sequelize as the ORM.