Apero Cafe: Micro-SaaS for QR Digital Menus & Ordering – React + TypeScript + Tailwind + NodeJs for Small Cafes Worldwide.
-
QR-Code-Based Digital Menu: A customer-facing menu page listing items with prices and images. Generate a QR code linking to the menu page.
-
Order Management: Allow customers to add items to a cart and submit orders (name, phone, table number).
-
Payment Integration: Add a "Pay Now" button that initiate payment.
-
Feedback Collection: Post-order, prompt customers for a star rating (1–5) and optional comment and displayed in a restaurant dashboard.
-
Language Support: Toggle between Local language and English.
Apero Cafe is a micro-SaaS for small restaurants and cafes to create digital menus accessible via QR codes, with optional online ordering and table booking. Focuses on simplicity for non-tech-savvy owners.
Ensure the following are installed on your system:
- Node.js: v18.x or later
- npm: v9.x or later
- MongoDB: v6.x or later
- Git: For cloning the repository
Follow these steps to set up the project locally:
-
Clone the repository:
git clone https://github.com/ryanzam/apero-cafe.git
-
Navigate to the project directory:
cd apero-cafe -
Install dependencies:
npm install
-
Set up environment variables:
- Create a
.envfile in the root directory and add your MongoDB connection string (refer to.env.example).
- Create a
-
Start the application:
npm start
Access the application at http://localhost:3000 after starting the server. Users can browse the menu, make reservations, and submit feedback. Detailed guides are available in the wiki.
- Code Style: Adheres to ESLint and Prettier standards for consistency.
- Build: Run
npm run buildto create a production build. - Server: Uses Express.js for API routing and MongoDB for data storage.
Run tests using the included test suite:
npm testContributions are welcome! Please fork the repository, create a feature branch, and submit a pull request. Ensure code follows project standards and includes tests. See CONTRIBUTING.md for more details.