Project Manager System is an application designed to assist in project production and proficiency, helping you achieve your objectives efficiently.

Project Manager API developed with Swagger
Swagger is an application that has many tools for developers, and one of the tools is that you can create API documentation
- Relationships
- Requirements
- Entities
- Technologies Used
- Project Structure
- Setup and Installation
- Integration and API Tests
Download Relationships Diagram
Clarifying the project requirements is crucial for quality and accuracy in development.
- ID (unique)
- Name
- Password (hash)
- Creation Date
- ID (unique)
- Name
- Description
- Creation Date
- User ID (relationship with the User entity)
- ID (unique)
- Title
- Description
- Creation date
- Completion date (optional)
- Status (pending, in progress, completed)
- Project ID (relationship with the Project entity)
- Node.js
- Express.js
- JWT (JSON Web Token)
- MySQL
- Sequelize
- Bcrypt
- MVC Pattern
- CORS
- Nodemon (dev dependency)
project-manager/
βββ src/
β βββ api/
β β βββ project.js
β β βββ task.js
β β βββ user.js
β βββ controllers/
β β βββ project.js
β β βββ task.js
β β βββ user.js
β βββ models/
β β βββ project.js
β β βββ task.js
β β βββ user.js
β βββ routes/
β β βββ project.js
β β βββ task.js
β β βββ user.js
β βββ middlewares/
β β βββ authMiddleware.js
β βββ config/
β β βββ database.js
β βββ app.js
β βββ server.js
βββ package.json
βββ README.md
- Node.js installed
- MySQL installed and running
-
Clone the repository
git clone https://github.com/matheusmartinsviana/project-manager.git cd project-manager
-
Install dependencies
npm install
-
Configure the database
Create a MySQL(But to deploy in rendering I needed to use PostgreSQL) database with the following details:
database: 'project-manager' host: 'localhost' username: 'root' dialect: 'mysql'
-
Run the development server
npm run dev
To see all tests you need change this branch to:
bash Branch: tests
project-manager/
βββ src/
β βββ ...
β βββ tests/
β β βββ api/
β β | βββproject.js
β β | βββ task.js
β β | βββ user.js
β β βββ integration/
β β | βββproject.js
β β | βββ task.js
β β | βββ user.js
- Jest (dev dependency)
- Supertest (dev dependency)