Note
ROMS is tested and fine tuned extensively specifically only for Python 3.11 due to limited time, so it's recommended that Python 3.11 is used in your test/usage.
Important
You cannot run the program directly. Ensure you install and activate the environment.
Run the following in terminal after you install your environment:
pip install -r requirements.txt
pip install "fastapi[standard]"
Run FastAPI to use apis locally:
fastapi dev main.py
Note
If you're downloading the source directly, you might be starting with a fresh Database, use the run the presets client.http to populate database
APIs are accessible locally at http://127.0.0.1:8000/, documentation at http://127.0.0.1:8000/docs#/
Important
Some apis require authentication, so you have to login to use them. Below are some sample account you can use.
Alternatively, you can create your own account using the /account/signup
or /account/add
api
Role | Password | |
---|---|---|
Customer | customer1@gmail.com | somepass12 |
Manager | manager@roms.com | manager%password122 |
Caution
It is not recommended that any real passwords are used for testing. Replace the SECRET_KEY in /roms/credentials
with your own key if you're using it for prod. You can generate your own SECRET_KEY using by running openssl rand -hex 32
in terminal.
- System Administration: Manage user accounts and credentials.
- APIs:
/account/add/
,/account/edit/credentials/
,/account/edit/user_info/
,/account/edit/delete/
- APIs:
- Order Management: Oversee order details, including viewing and updating order status.
- APIs:
/order/add/
,/order/get/
,/order/delete
,/order/item/delete
,/order/item/edit
,/order/item/edit_status
- APIs:
- Financial Management: Track income, expenses, and profitability.
- APIs:
/cashier/analytics
,/cashier/print/stats
- APIs:
- Inventory Control: Maintain product inventory by adding, updating, or removing items (product and ingredients) from the system.
- APIs:
/inventory/ingredients/add
,/inventory/ingredients/delete
,/inventory/ingredients/update
,/items/add
,/inventory/items/delete
and/inventory/items/update
- APIs:
- Customer Feedback: Monitor and review customer feedback to improve services.
- APIS:
/review/get
,/review/add
,/review/edit
,/review/delete
- APIS:
- Customer Account Management: Create, manage, login and update personal
- APIs:
/account/expire_token
,/account/get_token
,/account/signup
information.
- APIs:
- Product Browsing: Customers can explore a variety menu items available for purchase.
- APIs:
/inventory/items/get
- APIs:
- Cart Management: Customers can add, remove, or modify items in their shopping
cart.
- APIs:
/order/add
- APIs:
- Order Tracking: Monitor the status of placed orders.
- APIs:
/order/get
- APIs:
- Dishes Review: Customers can share feedback and suggestions about purchased dishes.
- APIS:
/review/get
,/review/add
,/review/edit
,/review/delete
- APIS:
- Product Display: Access a digital menu or product catalogue to view available items.
- APIs:
/inventory/items/get
- APIs:
- Manage Discount: Add, delete, or modify discounts or promotions for items / menu.
- APIs:
/inventory/items/add
,/inventory/items/edit
,/inventory/items/delete
,
- APIs:
- Transaction Completion: Generate receipts for customers.
- APIs:
/cashier/checkout
- APIs:
- Reporting: Generate reports on sales performance and product popularity.
- APIs:
/cashier/analytics
- APIs:
- Recipe Management: Create, update, and delete digital recipes.
- APIs:
/inventory/items/get
,/inventory/items/add
,/inventory/items/edit
,/inventory/items/delete
- APIs:
- Inventory Check: Verify availability of required ingredients.
- APIs:
/inventory/items/available
- APIs:
- Record-keeping: Record production quantities, batch numbers, and expiration dates.
- APIs:
/inventory/stock_batch/get
,/inventory/stock_batch/add
,/inventory/stock_batch/remove
,/inventory/stock/get
,/inventory/stock/add
,/inventory/stock/edit
,/inventory/stock/remove
- APIs:
- Equipment Management: Report equipment malfunctions or maintenance need
- APIs:
/equipment/remark/get
,/equipment/remark/add
,/equipment/remark/add
,/equipment/remark/delete
- APIs: