Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

eanp/foodapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FoodApp Delivery - ExpressJS

Foodapp is a food delivery application specially for backend only. Built with NodeJs using the ExpressJs Framework. Express.js is a web application framework for Node.js. More about Express

Built With

Express.js Node.js

Requirements

  1. Node Js
  2. Node_modules
  3. Postman
  4. Web Server (ex. localhost)
  5. DBMS like phpmyadmin

How to run the app ?

  1. Open app's directory in CMD or Terminal
  2. Type npm install
  3. Download some package npm init -y npm i express mysql2 body-parser jsonwebtoken bcryptjs dotenv multer
  4. Download nodemon for automatic checker npm i -g nodemon
  5. Make new file a called .env, open in your favorite code editor and copy paste this code:
APP_PORT=8080
APP_URI=htpp://localhost:8080/
APP_KEY=santuy
DB_SERVER=localhost
DB_USER=root
DB_PASSWORD=
DB_DATABASE=foodapp
  1. Turn on Web Server and MySQL can using Third-party tool like xampp, etc.
  2. Create a database with the name foodapp, and Import file foodappdata.sql to phpmyadmin
  3. Open Postman desktop application or Chrome web app extension that has installed before
  4. Choose HTTP Method and enter request url.(ex. localhost:8080/)
  5. You can see all the end point here

File Structure

.
├── ...
├── index.js                   # Unit tests
├── src                        
|    ├── dbconfig.js           # Config database
│    ├── middleware.js         # Middleware
│    └── routes                # Route Of role id
│          ├── admin.js        # Role for admin
│          ├── restaurants.js  # Role for restaurant
│          ├── carts.js        # Role for user when order an item       
│          ├── user.js         # Login, logout and register user    
│          └── guest.js        # All item get by guest 
└── storage
     └── storage                
           └── image           # File for save image

Default user

default password is admin

admin (as admin)
mcdonald (as restaurant)
pizza (as restaurant)
bensu (as restaurant)
hokben (as restaurant)
janjijiwa (as restaurant)
user (as user)

End Point

. GUEST

  • /
  • /search/
    • {query, name:byname, price:1000, rating:(1-5) }
  • /sort/
    • {query, name[]:asc/dsc, rating[]:, price[]:, rating[]:, update_on[]: }
  • /page/
    • {xform, page:1, limits:5/10 }

. USER

  • /user/register

    • {xform, username: yourname,password: yourpassword }
  • /user/login/ (get bearer token)

    • {xform, username: yourname,password: yourpassword }
  • /user/logout/ (with bearer token)

. ADMIN . Bearer token || role_id:1 in header

  • . Restaurant CRUD

  • /resto/foto/{id_restaurant}/ put

    • {image: yourfilefoto.jpg}
  • /admin/resto/ post

    • {xform, name:restoname, user_id:id_user_to_resto, description:, longtitude:, latitude:,}
  • /admin/resto/{id_restaurant} put

    • {xform, name:restoname, user_id:id_user_to_resto, description:, longtitude:, latitude:,}
  • /admin/resto/{id_restaurant} delete

  • /admin/resto/ get

  • . User CRUD

  • /admin/user/ post

    • {xform, username:admin, password:admin}
  • /admin/user/{id_user} put

    • {xform, username:admin, role_id:1/2/3}
  • /admin/delete/{id_user} delete

  • /admin/user/ get

. Restaurant . Bearer token || role_id:2 in header

  • . Items CRUD

  • /restaurant/item/foto/{id_items}/ put

    • {image: yourfilefoto.jpg}
  • /restaurant/{resto_id} post

    • {xform, itemname:food, price:1000, desc:, category:1}
  • /restaurant/{item_id} put

    • {xform, itemname:food, price:1000, desc:, category:1}
  • /restaurant/{id_item} delete

  • /restaurant/{resto_id} get

. Cart . Bearer token || role_id:3 in header

  • . Carts CRUD
  • /carts/{id_user} post
    • {xform, item_id:, item_quantity}
  • /carts/{id_carts} put
    • {xform, item_id:, item_quantity}
  • /carts/{id_carts} delete
  • /carts/{id_user} get
  • . Order Carts
  • /carts/order/{id_carts} put
  • /carts/order/feedback/{id_carts} put
    • {xform, rating:1-5, review:review_order}
  • /carts/order/{id_order} get complete order

About

Foodapp is a food delivery application specially for backend only

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors