To ship in 1 month as a solo side project, we will focus on the Public Menu + Simple Order Notification flow. In Phase 1, orders are logged in the staff dashboard and trigger an email or SMS notification. We strip away anything that isn't required for a restaurant to start "looking professional" today. Online payments (GCash, etc.) are deferred to Phase 2.
A warm, appetite-stimulating palette and friendly typography designed for Filipino food businesses:
- Primary Accent:
#FF6D1F(Vibrant Orange) - Base Background:
#FAF3E1(Warm Cream) - Secondary Background/Borders:
#F5E7C6(Soft Sand) - Text & Dark Elements:
#222222(Charcoal Black) - Heading Font:
Bree Serif(Friendly, appetizing serif) - Body Font:
Poppins(Modern, clean, legible sans-serif)
Focus: Getting the business owner to input their data.
- Infrastructure: Symfony + DDEV setup, Database schema (Multi-tenant via
business_id). - Auth: Simple login/signup for Business Owners. (Static Mockups)
- Menu Management:
- CRUD for Categories. (Static Mockups)
- CRUD for Menu Items (Name, Price, Description, Photo). (Static Mockups)
- "Sold Out" toggle. (Static Mockups)
- Owner Profile: Business name, Address, Logo. (Static Mockups)
Focus: What the customer sees.
- Public Menu View:
- Fast, mobile-first Bootstrap 5 layout.
- Category navigation (sticky top).
- Search functionality (simple JS filter).
- Simple Cart:
- LocalStorage-based cart.
- Modal/Drawer for cart review.
- Order Submission:
- Input customer name or identifier (optional).
- Save order to DB.
Focus: Closing the loop.
- Staff Dashboard:
- List of orders (New, Preparing, Completed, Cancelled). (Static Mockups)
- Detailed order view with PNG receipt download. (Static Mockups)
- Simple polling (every 10s) or SSE if time permits.
- Audio alert on new order (HTML5 Audio).
- Reliability & Notifications:
- Email notification to owner on new order (using Symfony Mailer).
- SMS alert integration for new orders.
- QR Generation:
- Simple integration with a QR library (e.g.,
endroid/qr-code) to generate the link to the public menu. (UI Mockup)
- Simple integration with a QR library (e.g.,
Focus: Getting it live.
- Billing & Tiers:
- Implement Free Tier: Includes "Powered by Digimenu" footer.
- Implement Paid Tier: Removes branding, adds SMS alerts.
- Admin flag for "Subscription Status".
- Landing Page: Simple 1-page Bootstrap site explaining the value prop and pricing. (Renamed to Digimenu)
- UX Refinements: Added "Beta" indicator and developer feedback widget for app testing.
- Testing: Sanity checks on mobile (various screen sizes).
- Deployment: Host on a simple VPS or PaaS.
- Repository Structure: Single Unified Repository (Monorepo) to keep everything simple and synchronized.
- Frontend Architecture:
- Admin UI: Preact (for a reactive, dashboard-like experience).
- Public UI: Twig + Bootstrap 5 (for SEO, speed, and simplicity).
- Use Symfony MakerBundle: Use
make:auth,make:crudfor everything. Don't over-engineer custom controllers. - Bootstrap 5 UI: Use standard components. Avoid custom CSS unless it's the
clamp()rules for typography. - No Complex Media Handling: Use a simple service to upload to local storage first; S3 can wait for v2.
- Manual Order Identifiers: In v1, just let the customer type their name or identifier if needed, instead of forcing table-specific logic. 1 QR code per business is enough for launch.
- Diner Accounts: Not needed. Keep it friction-less.
- Online Payment Integration: GCash/Maya/Credit Card automated flows moved to Phase 2. Phase 1 uses manual payment (cash at counter or manual GCash show-receipt).
- Analytics/Reports: Owner can check their order history list. No charts yet.
- Advanced Theming: One clean, professional theme for all restaurants.
- A business owner can sign up and create a menu.
- A customer can scan a QR code, view the menu, and place an order.
- The business staff gets an alert and can see the order on a screen.
- You can manually activate/deactivate businesses based on payment.