API to Sales
This project aims to improve my skills in the back-end from a need to create an API for sales, using Design Patterns, Domain Driven Design (DDD) and SOLID Principles, Docker with Docker Compose in addition to introducing Automated Tests with the framework Jest.
Dependencies
To run this script you need to install locally on your machine the following dependencies:
- Node.js;
- Express;
- Typescript;
- ESLint;
- Prettier;
- Jest;
- Celebrate;
- Multer;
- CORS;
- JWT;
- BCrypt;
- Nodemailer;
- Handlebars;
- Postgres;
- Redis;
- TypeORM;
- Docker;
- Docker Compose;
Running
- Open
project
folder and rundocker-compose up
; - In terminal:
cd /src/config
and executecp auth.exemple.ts auth.ts
; 2.2 Read the instructions at theauth.ts
and fill in what is needed;
Endpoints
- Products -
http://localhost:3333/products
- Users -
http://localhost:3333/users
- Sessions -
http://localhost:3333/sessions
- Forgot Password -
http://localhost:3333/password/forgot
- Reset Password -
http://localhost:3333/password/reset
- Profile -
http://localhost:3333/profile
Features
- Docker / Docker Compose
- Postgres
- TypeORM
- Product Module
- User Module
- Profile Module
- Authentication Module
- User password management
- User profile management
- Customer Module
- Purchase orders Module
- Redis
- Refactor DDD/SOLID
- Tests