Skip to content

ImVictorM/Dona-Birita

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Dona Birita ๐Ÿบ

Project Context ๐Ÿ’ก

Beverage delivery platform for the fictitious distributor Dona Birita.

Contributors ๐Ÿ‘ฅ

Main functionalities by user ๐Ÿ”ง

Customer:

  • Perform login;
  • Perform registration;
  • Choose to add items to the cart;
  • Place order;
  • Monitor the status of orders placed;
  • Change order status to "Delivered";

Salesperson:

  • Perform login;
  • track orders;
  • Change the status of orders to "Prepare Orders" and "Out for Delivery";

Admin:

  • Perform login;
  • View users;
  • Register new users;
  • Delete users;

Acquired Knowledge ๐Ÿ“–

In this project, We were able to:

  • Develop a Full Stack application;
  • Integrate front-end and back-end;
  • Build a REST API;
  • Organize the code and the general architecture of the application;
  • Work together, using daily meetings and Kanban;

Main Technologies ๐Ÿงฐ

Back-End

JavaScript Express Sequelize Node.JS MySQL JWT Docker
javascript express sequelize nodejs mysql jwt docker

Front-End

JavaScript HTML5 CSS3 React SASS
javascript html5 css3 react sass

Testing

Jest RTL Mocha Chai Sinon
jest rtl mocha-js chai-js sinon-js

Running the application โš™๏ธ

Client default port: 3000
API default port: 3001
Database default port: 3002

  1. Clone the repository and enter it
git clone git@github.com:ImVictorM/Dona-Birita.git && cd Dona-Birita

๐Ÿ‹ Running with docker (recommended)

  1. Get the containers running
docker-compose up -d
  1. Enter the api container to create the database
docker exec -it api-delivery sh
  1. Create and populate the database
npm run db:reset
  1. Access the page on your browser: http://localhost:3000/

๐Ÿ–ฅ๏ธ Running locally

You must have node and MySQL installed

  1. Install the dependencies (both back-end and front-end)
npm install
  1. Rename the file .env.example to .env in both front-end and back-end directory (change it as you like)

  2. Create and populate the database

npm run db:reset
  1. Start the server
npm run start
  1. Access the page on your browser: http://localhost:3000/

Testing ๐Ÿ› ๏ธ

Running all test files:

npm test

Running back-end test files:

npm run test:backend

Running front-end test files:

npm run test:frontend

Application test coverage:

npm run test:coverage

Back-end test coverage:

npm run test:backend:coverage

Front-end test coverage:

npm run test:frontend:coverage