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)