By Richard Bates, Jim Reinknecht and Richard Debrah,
Forked and updated by Dylan Oshima.
Restaurant PoS is a simple React application for managing restaurant seating. It's features include handling orders for multiple guests and receipt printing. Restaurant PoS is lightweight making it easy to run on very low memory systems.
- Finish implementing tests for the tables
and orders reducer - Write actionCreators for dishes
- Write actionCreators for inventory
- Write reducer for dishes
- Write reducer for inventory
- Connect redux to react
- Test replacing the order components with redux state
- Write tests for dishes
- Write tests for inventory
- Make login more secure
- Refactor the App.js component
- Add error modal
- Update code to latest version of
react-bootstrap
- Create an endpoint for courses, courses are just lists of dishes, customers can choose to have different options within a course
- Create reducer, action, and component for courses
- Get earnings for a day and other statistics
- Input to update the courses in the tasting menu and costing
- Calculate the cost for a dish
- When the order of the tables in the
GET_TABLES
is switched, the empty table gets an id. - When you delete a dish in the admin page that existed in an order or a dish, removing it becomes weird. - fix: when an item is deleted it must be cascaded in all possible references of the item. Also when an item holds another item it should only hold a reference, that way if the reference cannot be found then it must have been deleted.
- Reset activeTableIndex on logout
Managing Servers/Waiters/Waitresses from the front endReceipt by smsCoupons and Gift cards integration- Administrative section to manage service, menu, and employees
SMS integration for waitingGuest tableside ordering system
- React
- React-Bootstrap
- Node
- create-react-app
- Express
- MongoDB
- Mongoose
- Linux Server Deployed
- NGINX Reverse Proxy
- REST Api
- React Alerts
- Clone Repository to your local drive
- From your favorite terminal enter
$ cd Restaurant-PoS
- Run
$ npm install
to install packages $ cd client
- Run
$ npm install
to install React packages $ cd ..
into the main app folder- In the app folder run
$ npm start
to run the app. Happy Hacking!
- / Renders the main page. Does NOT return JSON
- /checks returns JSON of all 'checks' entries
- /checks/paid returns JSON of all paid checks
- /checks/unpaid returns JSON of all unpaid checks
- /checks/:id returns single check by ID
- /checks/seat creates a new 'check' or a new gues seating, returns json with ID data
- /checks/:id Updates check by ID
- /checks/delete/:id
- /menu returns JSON of all menu entries
- /menu/:section returns JSON of all menu entries by section / category
- /menu/add Creates a new menu entry, returns JSON with ID
- /menu/:id Deletes a menu entry by ID
- /order returns JSON of all order entries
- /order/paid returns JSON of all paid checks
- /order/unpaid returns JSON of all unpaid checks
- /order/:id returns single check by ID / category
- /order/:id Updates check by ID
- /servers returns JSON of all waitstaff entries
- /servers/:code Validates the user access code
- /servers/add Creates a new waitstaff/server entry, returns JSON with ID
- /inventory returns JSON of all inventory entries
- /inventory/categories returns a JSON of all the unique categories in the inventory
- /inventory/add Creates a new inventory entry, returns JSON with the ID and other information
- /inventory/:id Updates the inventory with the given id. The body of the request must have:
name
,unitOfMeasurement
, andcategory
- /inventory/delete/:id Removes an inventory item with the given id
Restaurant PoS depends on several NPM Packages. Find below the various packages and their versions used.
Install with $ npm install
.
- Clone Repository to your local drive
- From your favorite terminal enter
$ cd Restaurant-PoS
- Run
$ npm install
to install packages $ cd client
- Run
$ npm install
to install React packages $ cd ..
into the main app folder- In the app folder run
$ npm start
to run the app. Happy Hacking!