A cafeteria – the Acme Café – intends to implement a more efficient ordering and delivery system, supplying an Android app to its customers and incentivizing them to use it, through a loyalty campaign.
The idea is for the customers compose previously their orders in the app, choosing items from a menu and their quantities, and transmit them, together with possible vouchers and identification data, to a terminal inside the house. After that, the customers only need to collect the ordered items at the counter when they are ready.
Acme.Cafe.-.HD.1080p.mov
Login | Register | Home Menu |
---|---|---|
Hot Coffees | Cart Empty | Apply Coffee Voucher |
---|---|---|
Apply Discount Voucher | Cart Filled | Checkout |
---|---|---|
Order Successful | Profile | All Available Vouchers |
---|---|---|
All Receipts | Receipt Details | Receipt Details |
---|---|---|
QrCode Reader | Accept Order | Validate Order |
---|---|---|
Order Validated | All Orders | Order Detail |
---|---|---|
To prepare your computer for development you need to install Docker Desktop.
- Clone the repository
git clone https://github.com/FabioMiguel2000 Acme-Caf-Order-System
- Head inside the server's project directory
/coffee-order-api
, and change the filelocal.env
to.env
with the appropriate environment variables.
MONGODB_URI=mongodb://mongo:27017/acme-coffee
- There is a docker-compose file that builds and runs 3 containers, the node server, the MongoDB server and the Mongo-Express (admin interface):
docker-compose up -d
- Install NodeJS dependencies
docker exec -it api npm install
- Populate the database with seed, run:
docker exec -it api npm run data:import
- If you've populated the database in step four, to destroy old structure and get new one, run the comand bellow and run again step four:
docker exec -it api npm run data:destroy
- Head inside the app's project directory
/coffee-order-application
or/coffee-order-terminal
, and add the server's base URL to thelocal.properties
, accordingly:
If you are using a physical device:
apiBaseUrl=http://your_local_ip_address/api/
Example:
apiBaseUrl=http://192.168.1.97:3000/api/
If you are running on an emulator you can keep with the default base URL:
apiBaseUrl=http://10.0.2.2:3000/api/
Adalberto Oliveira Filipe
Bruno de Sena Pereira
Fabio Huang
Gabriel de Sousa Gomes
Garcia Isaias Manuel
This project is licensed under the Apache License, Version 2.0.
For the complete text of the Apache License, please refer to the .