Building a application API Restful - The application that we will develop is a digital menu for a fictional restaurant, known as foodExplorer.
In this challenge, the following topics were addressed:
Express; Routes and http method; Params; Controllers; Middleware; SQL; Migrations; Query Builder; Knex; JWT; Disk Storage; Cors;
Watch it in action Deploy Front: Click Here Watch it in action Deploy Backend: Click Here
Login User: cliente@email.com
Password: 123456
What was developed:
- A structured project, with a good organization of folders, division of components in the front-end, etc.
- A README.md file with specifications on how to run the project in a dev environment.
- Users must authenticate themselves to enter the application through the login screen, you can apply what you learned in JWT authentication classes. Authentication must be validated with a password.
- The admin will upload images to register the dishes.
- Finally, deploy your application.
- Give your functions and variables meaningful names: work with Clean Code concepts a bit.
- The admin, restaurant and users data will be stored in a database.
- Possibility to search by dish name, ingredients or favorite dish
- It is essential that your interface consumes its own API.
- Interesting to make the application responsive: use the concept of Mobile First that was learned in class.
- It's up to you where to apply animations, transitions, and transformations.
- It meets the model proposed in Figma and contains elements indicative of action and state. opcionais
- The user can add items to the cart by clicking the add button. The amount is controlled by the β-β and β+β buttons;
- By clicking on the my order button, the user will be redirected to a screen where he will see his order, the sum and the payment methods;
- The user will be able to delete a dish from the cart and the total amount of the order should be updated automatically;
- The user can mark a dish as a favorite, just click on the heart that appears next to each one;
- The admin will view and control the status of each order, through a select field. Orders will appear in a table when you click Orders;
## π§ͺ Tools
Application developed using the following tools:
Clone Project and access folder and start the server it is necessary to have NodeJs, Git installed and Visual Studio Code.
This project is divided into two parts:
- Backend (food-explorer-api folder)
- Frontend (food-explorer folder)
π‘ The Frontend needs the Backend to be running to work.
# Clone this repository
$ git clone https://github.com/felipe-gomes-vicente/food-explorer-api.git
# Access the project folder in your terminal
$ cd food-explorer-api
# Install the dependencies
$ npm install
# run the migration and seed
$ npm migrate
$ npm seed
# Run the application in development mode
$ npm run dev
# Admin login
$ email: admin@email.com
$ password: 0908
# Client login
$ email: cliente@email.com
$ password: 123456
# The Server will start at port: 3333 - go to http://localhost:3333
Clone the Food Explorer Frontend project and access the folder
# Clone this repository
$ git clone https://github.com/felipe-gomes-vicente/food-explorer.git
# Access the project folder in your terminal
$ cd food-explorer
# Install the dependencies
$ npm install
# Run the application in development mode
$ npm run dev
# The application will open on the port: 3000 - go to http://localhost:5173/ or http://127.0.0.1:5173/
This project is under the MIT license. See the file LICENSE for more details.
Done with π by Felipe Vicenteπ