- Project Name: RestroSync for Pizza Station
- Description: A restaurant management web app that handles pizza orders, menu updates, user accounts, and dashboard analytics for Pizza Station.
- Live URL: https://restrosync.lovable.app
- Software Requirements Specification (SRS) Document
Comprehensive documentation of project scope, features, and requirements. - Repository: https://github.com/AbrarBb/RestroSync-for-Pizza-Station
| Layer | Technology |
|---|---|
| Frontend | React (TypeScript), Tailwind CSS, shadcn-ui, Vite |
| Backend | Supabase (PostgreSQL, Auth, Realtime) |
| Manager | Bun |
| Hosting | Lovable (Frontend), Supabase (Backend) |
RestroSync-for-Pizza-Station/
├── public/ # Static assets like icons, images
├── src/ # Source code
│ ├── components/ # Reusable UI components
│ ├── pages/ # Main views (Menu, Orders, Dashboard, etc.)
│ ├── services/ # Supabase API interactions
│ ├── lib/ # Utility functions and helpers
│ ├── hooks/ # Custom React hooks
│ ├── context/ # Global contexts (e.g., AuthContext)
│ ├── App.tsx # App entry and route definitions
│ └── main.tsx # Main app rendering
├── .env # Environment variables (not committed)
├── index.html # Root HTML file
├── tailwind.config.ts # Tailwind CSS configuration
├── vite.config.ts # Vite development configuration
├── tsconfig.json # TypeScript configuration
├── bun.lockb # Bun package lock file
└── README.md # Project documentation
The backend uses Supabase, a backend-as-a-service platform built on PostgreSQL. Below is an overview of the primary database tables:
| Column Name | Data Type | Description |
|---|---|---|
| id | UUID | Primary key, unique user ID |
| TEXT | User's email address | |
| role | TEXT | User role (admin, staff) |
| Column Name | Data Type | Description |
|---|---|---|
| id | UUID | Primary key, unique item ID |
| name | TEXT | Name of the menu item |
| description | TEXT | Description of the item |
| price | NUMERIC | Price of the item |
| available | BOOLEAN | Whether the item is available |
| image_url | TEXT | URL to an image of the menu item |
| Column Name | Data Type | Description |
|---|---|---|
| id | UUID | Primary key, unique order ID |
| user_id | UUID | Foreign key referencing users.id |
| items | JSONB | List of ordered items with quantity and item ID |
| status | TEXT | Order status (pending, preparing, ready, delivered) |
| created_at | TIMESTAMP | Timestamp when the order was placed |
-
Uses Supabase Auth (email/password)
-
Managed via AuthContext in src/context/AuthContext.tsx
const session = await supabase.auth.getSession();
Orders update in real-time using Supabase subscriptions:
codesupabase .channel('orders') .on('postgres_changes', { event: '*', schema: 'public', table: 'orders' }, callback) .subscribe();
-
Tailwind CSS for responsive design
-
shadcn/ui for UI components (alerts, buttons, modals)
-
Optimized for tablets and smartphones
-
Hosted on Lovable
-
Live URL: https://restrosync.lovable.app
-
Hosted on Supabase
-
Uses Supabase Database, Auth, and Realtime
-
Fork the repository
-
Create a new branch: git checkout -b feature/your-feature
-
Make changes and commit: git commit -m "Add feature"
-
Push to GitHub: git push origin feature/your-feature
-
Submit a pull request
-
Live App
Access the deployed RestroSync application for Pizza Station. -
Software Requirements Specification (SRS) Document
Comprehensive documentation of project scope, features, and requirements. -
Supabase Documentation
Learn more about the backend services used, including Auth, Database, and Realtime. -
shadcn/ui Documentation
Reference for UI components used throughout the application.
-
Add unit and integration testing
-
Implement role-based UI rendering
-
Add receipt printing integration
-
Add analytics dashboards
-
Enable offline mode using local storage
