Documentation Changelog
Architecture

Architecture overview

How Food Magic is put together, and how one business's data stays separate from another's

Food Magic has two parts that work together: the dashboard you use in your browser, and the server behind it that stores your data and runs your business rules. The two talk to each other over a private, structured connection built just for Food Magic.

Diagram showing a click in the dashboard travelling through the system's internal layers to the database and back.
How a request travels: from what you click on screen, through the system's internal layers, to where your data is stored, and back again.
Frontend

This is the dashboard you use every day — the screens for orders, the menu, staff and settings. It's built to be quick to click through, and it keeps track of where you are as you move between screens.

Backend

This is the server that stores your data and enforces your business rules. It's organized into separate areas — orders, menu, billing, staff and so on — so each part can be built and updated on its own without affecting the others. Signing in is protected with secure login tokens, and what each person can see or do is controlled by their role and permissions.

Multi-tenancy

If you run more than one business on Food Magic, each business's data is kept completely separate from every other business's. Within one business, each branch also keeps its own day-to-day data separate from every other branch's.

This happens automatically, everywhere in the app. Nobody has to remember to keep it separate — the system does it on its own. See Who can do what for what each role actually sees day to day, and My Outlet for the branch profile screen an Outlet Owner fills in first.