Full control system for a shipping company - REST API made with Node.js
This project is a full control system of a fictional shipping company called FastFeet. The full system has a web version made with ReactJS, where the admin is able to take control of all processes, from listing deliveries to handle with delivery problems and change deliverymen's info. The application also has a mobile version made with React Native, where the deliveryman is able to list all his deliveries filtering by pending or delivered, register a problem during the process and also confirm the deliver by sending a picture of the recipient's signature. All this system is served by a REST API made with Node.js
This RESTful API has a great level of complexity, combinig different types of databases, user authentication, email firing, file upload and a lot of CRUD's. To help me with all this work I used the following technologies:
- Insomnia
- NodeJS
- ExpressJS
- Nodemon
- Docker
- PostgreSQL
- Redis
- Sequelize
- Yup
- jwt
- bcryptJS
- multer
- date-fns
To clone and run this application, you'll need Git, NodeJS, Yarn and Docker.
The first thing you need to do is to run these two containers on your machine:
docker run --name redisfastfeet -p 6379:6379 -d -t redis:alpine
;docker run --name some-postgres -e POSTGRES_PASSWORD=docker -p 5433:5432 -d postgres
;
Lastly run the following commands:
# Clone this repository
$ git clone https://github.com/riltonfranzonee/fastfeet-api
# Go into the repository
$ cd fastfeet-api
# Install dependencies
$ yarn
# Seed the database (this will automatically generate the admin for the web version)
$ yarn sequelize db:seed:all
# Run the app
$ yarn dev
After that you can use Insomnia REST Client on *port 3000" to use the routes!
Thank you for taking a look at my project! Made with ♥