/sOMS

Fullstack Modern B2C Order Management System

Primary LanguageTypeScript

sOMS

Modern B2C Order Management System



✅ Features:

  • CRUD customised menus with categories and food items.
  • Start/End service sessions with custom options. (e.g. No. of tables, last order time, menus)
  • Secure authentiation system for each customer table.
  • Display and modify realtime food stock availability to customers
  • Realtime management of kitchen orders and table bills.

📚 Development Stack:


🛠 Setting up development environment:

  • Install PostgreSQL and Redis on your machine.
  • Create a new psql database
  • Start machine's redis server
  • git clone https://github.com/sweic/sOMS.git
  • Fill up the .env.example file inside /api and rename to .env
  • npm run install-dependencies
  • cd api & npm run install-dependencies
  • npm start in both root and /api
  • App should be running on http://localhost:3000/
  • Navigate to http://localhost:3000/auth
  • Enter USER_AUTH_TOKEN as in the .env file

❌ Constraints:

  • Admin interface and customer interface living on the same domain. Ideally would split them into two microservices living on different servers and clients.
  • Will be changing to AWS S3 for image hosting
  • Untested integration with shop's cashier system and thermal printers
  • Not stress tested

❓ Upcoming prioritised features

  • Admin able to update/delete orders that customers wrongly placed.
  • Custom options for each food item. (e.g. no spring onions)
  • Summary of past service sessions with data analysis on number of tables/orders and revenue each.


📷 Screenshots


Creating/Editing menus, sections and food items.





Admin's menu overview



Creating a Service session



Managing tables during service



Managing orders and bills



Customer UX