Book-A-Meal is an application that allows customers to make food orders and helps the food vendor know what the customers want to eat.
Given you manage a catering business, this app will help you manage meals and menus, and will enable customers to make bookings and show a dashboard summary of bookings made and profits accrued.
- Caterer is able to add their meals to the meal database
- Caterer is able to edit or remove added meals
- Caterer is able to set menu for the current day
- Caterer is able to see the orders made for their meals
- Caterer is able to see their order history
- Caterer dashboard shows the total revenue for the day
- App supports multiple cateres
- Customer is able to view menu for the day
- Customer is able to place orders
- Customer is able to cancel order within 15 minutes of placing the order
- Customer is able to view the history of their orders on the app
- Users can signup as a caterer or customer
- User can login to the app
- View UI Templates
- View the full application hosted on Heroku
- View the application API Documentation
- Track progress on application features with Pivotal Tracker
- Back-end: Node/Expressjs
- Libraries: ES6, Babel-CLI, eslint, Mocha/Chai, Postman
-
Install Node js and PostgreSQL
-
Install sequelize-cli globally on your local machine
-
Clone or download this repository
-
Open a terminal and navigate inside the cloned or downloaded directory
-
In your terminal, run
npm install
- to install the dependencies required by the app -
Create a .env file in the root directory of the app using the .env.example file as a template
-
npm run migrate
- to setup the app database -
you can run the app in development or production mode
npm run start:dev
- to run the app in development mode
npm run start:prod
- to run the app in production mode
-
Navigate to
localhost:3500
in your browser to view app
- Setup the app as detailed above
npm run test:client
- to test the app client sidenpm run test:server
- to test the app server side- End to End testing
- Install
Java JDK
on your Local machine npm run e2e:setup
to install the test utilitiesnpm run e2e:server
to start the app before testing- In a separate terminal window execute
npm run e2e:start
to run the end to end tests
- Install
- Version 1.0.0
- Still in developement
- Node js - Javascript Run Time Engine
- NPM - Package Manager
- Express - Web Application Framework
- React js - UI Library
- Webpack - Module Bundler
- Eslint - Code Linter
- Pivotal Tracker Project Manager
The API documentation is powered by Swagger. View the API
This app is in development and contributions are welcome. To contribute follow the steps below:
- Fork this project and clone to your local machine
- Create a branch for any new feature and write tests for your features
- Ensure to follow the commit message, branch naming and pull request conventions specified in this project's wiki
- Create a Pull Request for your branch to the original repository
- Automated tests will be run upon creation of the pull request
- Pull requests that pass the automated tests and do not reduce project test coverage will be merged after review by the project owner or other contributors.
- Tovieye Moses Ozi