Creating an Open Source Cafe Ordering System

Hello, I’m creating an open source ordering system, as in the past I’ve been commissioned to create systems very similar to this.

What should I take into account if I’m creating a system that will be used across different genres and themes of cafes/restaurants and I want to make it usable for all people? I also want to ensure that people who do not develop will be able to use this system with ease.

Any advice and tips will be appreciated, especially by those who have created open source projects!

EDIT: Also list any features you want me to include if you are interested in using it.

3 Likes

People who make open-source systems always think that customization is good… And yes, it is, but only to a point.

Make the system simple: Use folders to separate food “categories”, so they make the categories by naming folders, and put the individual food items inside. The setup script should loop through the folders and items, and create categories in UI that are named after the folder names, and display all the foods within the folder.

Allow customization of certain ordering settings:

  • Toggle on or off: Only certain-level group members may order, allowing owners to only allow the workers to order.

  • Toggle on or off: A “cook” UI that takes in all orders, and allows workers to cook the orders taken in… (And have a set time for how long it takes to cook)

  • Toggle on or off: Premium ordering, so groups can allow certain people to order and get their food immediately without having to go to a worker… Make gamepass setup easy

  • Make “bring order to others,” so you have a pathfinding system so workers can bring the food to others before giving it to them…

And REALLY IMPORTANT… leave room open for advanced developers to use this system but to add in their own things, like, let’s say, realistic cooking so that they can connect their own “appliances” to cook. And create other open source models of ovens, blenders, etc. and additional scripts (you could label them “expansion packs”) to make it easy to connect realistic cooking systems.

And for the UI, which is also important (flake on this, your system will just not be as successful, it has to have great UI)
Simple, rounded, clean UI. Not too much customization, put dark and light mode in the basic customization settings (and maybe one or two other REALLY BASIC settings), but make them do other UI editing themselves (this would be for competent developers).

And also, don’t underestimate the community’s ability to edit basic scripts. Basic Admin 2.0 is a great vantage point for knowing your audience: BASIC scripting and knowledge of studio, with the ability to add more on if they know how.

Expansion Packs

Create your own expansion packs, like have default food models in folders, default add-on scripts… A great idea is a simple discord web hook system of orders, points system, and a donation (or “tipping”) system that adds on directly to the original basic ordering UI. More complex could be default UI creation so the ordering UI can expand to include “information” sections, etc.

6 Likes

When making a Cafe Ordering System you should create it so there is a list of items displayed on the UI in an organized order set by the type of consumable it is. If you want it to be usable for everyone make it easy to read and understand. If you want to you can use sections to separate beverages and food and make it so players can scroll and select what they want, when they are finished they can press order. If there is a cap add an x/y limit to show how many items have been selected and how many items are the limit.

3 Likes