Fast-Food-Fast is a food delivery service app that enables user to have sweet yummy foods delivered to their door steps. The views are published on Github at https://sammuel09.github.io/Fast-Food-Fast/index.html
Fast-Food-Fast is a food service delivery web application.
In order to have a copy of this project, clone this project to your local repository. You should have NodeJs installed on your Local machine. To start, you install the dependencies using NPM: npm install. This command installs all the dependencies this project runs on. Start the application on your localhost using the command: npm start.
You need to have NodeJs installed on yourlocal machine. Install Node here. You also need to have a working knowledge of Javascript and ES6 syntax.
ExpressJs. Download as an npm package here
This project was built using Javascript ES6. So, to transpile the ES6 code to ES5, you need to install BabelJS an NPM package.
To test, you need to install mocha, chai and chai-http. You also need to install babel-register as NPM package to transpile ES6 code on the fly for testing.
Run the test with the NPM command: npm test
This app is hosted on Github Pages. The Front End views are published at https://sammuel09.github.io/Fast-Food-Fast/index.html
The Backend APIs are hosted on heroku. https://sammie-fast-food-fast.herokuapp.com/
REQUEST | ENDPOINT | REQUEST BODY | ACTION | RETURNED DATA |
---|---|---|---|---|
POST | /api/v1/auth/signup | username: string, email: string, phone: string, address: string, password: string | Create A New Usert | token: string, status: string, data: object, message: string |
POST | /api/v1/auth/login | email: string, password: string | Logs in a returning New User | token: string,status: string, data: object, message: string |
POST | /api/v1/menu | name: string, imageurl: string, price:integer | Creates a new menu option | status: string, data: object, message: string |
GET | /api/v1/menu | Gets all Menu | status: string, data: array, message: string | |
POST | /api/v1/orders | userId: integer, menuId: integer, quantity: integer, instruction:string | Creates an order | status: string, data: object, message: string |
GET | /api/v1/orders | Get all orders | status: string, data: array, message: string | |
GET | /api/v1/orders/:orderId | Get a specific order | status: string, data: object, message: string | |
PUT | /api/v1/orders/:id | orderStatus: string | Update a specific order | status: string, data: object, message: string |
GET | /api/v1/users/:userId/orders | Get a user's order history | status: string, data: object, message: string |
This application has the following features:
- Users can create an account and log in
- A user should be able to order for food.
- The admin should be able to add, edit or delete the fast-food items
- The admin should be able to see a list of fast-food items
- The admin user should be able to do the following:
- See a list of orders
- Accept and decline orders
- Mark orders as completed
- A user should be able to see a history of ordered food
This project is licensed under the MIT License.