Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ytabeloved/ordervista/llms.txt

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

Ordervista is a full-stack, responsive web application that digitizes and streamlines restaurant order management from a single centralized platform. Traditional restaurant operations often rely on paper tickets, verbal communication, and disconnected tools — Ordervista replaces that fragmented workflow with a unified system where menu items, live orders, kitchen commands, receipts, and sales reports all live in one place. Built as a capstone engineering project, it covers the complete order lifecycle: a customer browses the menu and places an online order, an operator manages in-person orders and kitchen flow, and an administrator oversees the catalog, staff, and business analytics — all secured by role-based JWT authentication.

User Roles

Every Ordervista account is assigned one of three roles. Each role unlocks a dedicated interface and a specific set of capabilities tailored to that user’s responsibilities.

Administrator

Manages users, product catalog, and categories. Views the administrative dashboard, estimated sales reports, and top-selling product analytics with date-range filters.

Operator

Handles day-to-day restaurant operations: views active orders, creates in-person orders, advances order statuses, manages kitchen commands, and generates operational receipts.

Customer

Self-registers and logs in to browse the live menu, add items to cart, place online orders, manage delivery addresses, and track their own order history.

Key Capabilities

Ordervista covers the full spectrum of restaurant order operations:
  • Menu management — Create, edit, and toggle products and categories, including name, description, price, stock, image, and availability status.
  • Order lifecycle — Support for both online (customer-placed) and in-person (operator-placed) orders, with statuses that advance from creation through completion.
  • Kitchen commands — Operators generate kitchen-facing command tickets (comandas) tied directly to active orders, keeping the kitchen informed in real time.
  • Receipts — Operational receipts can be generated for completed orders, providing a printable record of every transaction.
  • Reports and analytics — Administrators query estimated revenue, total orders, average ticket size, customers served, daily sales trends, and top-selling products — all filterable by date range.

Technology Stack

Frontend

TechnologyVersionRole
React19UI component framework
Vite8Build tool and dev server
React Router DOM7Client-side routing
Axios1HTTP client for API calls
Chart.js / react-chartjs-24 / 5Reports and analytics charts
Lucide React1Icon library

Backend

TechnologyVersionRole
Node.jsLTSJavaScript runtime
Express5Web framework and API router
MySQL23MySQL driver for Node.js
jsonwebtoken9JWT generation and validation
bcryptjs3Password hashing
dotenv17Environment variable management
CORS2Cross-origin request handling

Database

Ordervista uses a MySQL relational schema with 10 tables: ROLES, USUARIOS, CATEGORIAS, PRODUCTOS, PEDIDOS, DETALLE_PEDIDO, ESTADOS_PEDIDO, TIPOS_PEDIDO, DIRECCIONES, and COMANDAS. Table names are uppercase to ensure compatibility with case-sensitive Linux environments such as Render.

Deployment Targets

Ordervista is designed for deployment across three complementary services:
  • Frontend → Vercel — The React/Vite SPA is deployed from the frontend/ directory. A vercel.json rewrite rule ensures all paths are handled by React Router.
  • Backend → Render — The Express API is deployed as a Web Service from the backend/ directory, started with npm start.
  • Database → Aiven MySQL — The production database is hosted on Aiven with SSL-secured connections. Table names in uppercase prevent case-sensitivity issues on Linux hosts.
Because all three tiers use free-tier plans, cold-start latency is expected after periods of inactivity. Before running functional tests, verify that the Aiven database is active, wake the Render backend by hitting /api/health, and then open the Vercel frontend.

Build docs developers (and LLMs) love