Skip to content

Latest commit

 

History

History
136 lines (91 loc) · 6.49 KB

README.md

File metadata and controls

136 lines (91 loc) · 6.49 KB

Acme-Caf-Order-System

Kotlin Node License

Overview

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.

Demonstration Video

Acme.Cafe.-.HD.1080p.mov

Screens

Customer Application

Login Register Home Menu
Login Register Home Menu
Hot Coffees Cart Empty Apply Coffee Voucher
Hot Coffees Cart Empty Apply Coffee Voucher
Apply Discount Voucher Cart Filled Checkout
Apply Discount Voucher Cart Filled Checkout
Order Successful Profile All Available Vouchers
Order Successful Profile All Available Vouchers
All Receipts Receipt Details Receipt Details
All Receipts Receipt Details Screenshot_20240421_165529

Cafetaria Application

QrCode Reader Accept Order Validate Order
QR Code Reader Accept Order Validate Order
Order Validated All Orders Order Detail
Order Validated All Orders Order Detail

Implementation Diagram

Implementation Diagram

Installing the Software Dependencies

To prepare your computer for development you need to install Docker Desktop.

Local Setup

Deploy Local Server

  1. Clone the repository
git clone https://github.com/FabioMiguel2000 Acme-Caf-Order-System
  1. Head inside the server's project directory /coffee-order-api, and change the file local.env to .env with the appropriate environment variables.
MONGODB_URI=mongodb://mongo:27017/acme-coffee
  1. 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
  1. Install NodeJS dependencies
docker exec -it api npm install
  1. Populate the database with seed, run:
docker exec -it api npm run data:import
  1. 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

Run Client Application & Terminal Application

  1. Head inside the app's project directory /coffee-order-application or /coffee-order-terminal, and add the server's base URL to the local.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/

Authors

Adalberto Oliveira Filipe
Bruno de Sena Pereira
Fabio Huang
Gabriel de Sousa Gomes
Garcia Isaias Manuel

License

This project is licensed under the Apache License, Version 2.0.

For the complete text of the Apache License, please refer to the Apache License.