Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/123048152-JJDS/CafeteriaPM_S203/llms.txt

Use this file to discover all available pages before exploring further.

CafeteriaPM is a complete point-of-sale and operations platform for cafeterias and small restaurants. It exposes a FastAPI REST backend that powers a Flask admin web panel and a React Native mobile app — giving every staff role (admin, waiter, kitchen, cashier) a purpose-built interface to manage tables, orders, inventory, sales, and expenses in real time.

Quickstart

Get the API running locally and make your first authenticated request in minutes.

Architecture

Understand how the API, web panel, and mobile app fit together.

API Reference

Explore every endpoint — authentication, orders, inventory, sales, and more.

Order Lifecycle

Follow an order from creation through payment and see how stock is managed automatically.

What’s included

CafeteriaPM is composed of three applications that share a single PostgreSQL database through the REST API:

REST API

FastAPI backend with JWT authentication, role-based access control, and automatic OpenAPI docs at /docs.

Admin Web Panel

Flask application for administrators — dashboards, user management, reports, and full operational oversight.

Mobile App

React Native (Expo) app with three role-specific modules: mesero, caja (cashier), and cocina (kitchen).

Key capabilities

Role-Based Access

Four roles — admin, mesero, caja, cocina — each with precisely scoped API permissions.

Order Management

Full order lifecycle with kitchen queue, status transitions, and PDF ticket generation.

Inventory & Purchases

Track ingredients, receive low-stock alerts, and auto-deduct stock when orders are fulfilled.

Sales & Expenses

Record sales with multiple payment methods, log operational expenses, and calculate change.

Table Management

Manage dining tables with live status — disponible, ocupada, or reservada.

Reports

Export PDF and XLSX reports for sales, expenses, products, orders, and inventory.

Get started in 4 steps

1

Deploy the API

Clone the repo, configure your .env file with database credentials and a JWT secret, then start the FastAPI server with uvicorn. See API Deployment.
2

Authenticate

Send a POST /auth/login request with admin credentials to receive a Bearer token. See Authentication.
3

Seed initial data

Run the included seed scripts to create roles, order states, payment methods, and a default admin user. See Quickstart.
4

Connect a client

Point the admin web panel or mobile app at your API URL and log in. See Web Panel and Mobile App.

Build docs developers (and LLMs) love