-
Notifications
You must be signed in to change notification settings - Fork 0
Home
ChandlerNgo edited this page Dec 9, 2024
·
6 revisions
The Panda Express POS (Point-of-Sale) and Inventory System is a comprehensive solution designed to meet the operational needs of a restaurant. This project integrates a user-friendly interface, robust backend, and a scalable database to handle the restaurant's sales, inventory, and management requirements. Developed using Agile methodology, the system focuses on providing a reliable, accessible, and feature-rich platform for various user roles, including managers, cashiers, and customers.
- Manager View: Manage staff, view reports, and oversee inventory.
- Cashier View: Process orders and manage customer interactions.
- Menu View: Static screen with all possible food items.
- Customer View: Place orders and provide feedback.
-
Point-of-Sale Operations
- Fast and efficient transaction processing.
- Integration with external APIs for payments.
-
Inventory Management
- Track stock levels.
- Automated alerts for low inventory.
-
Reporting
- Generate sales and performance reports.
- Data visualization for analytics.
-
External APIs
- Authentication, translation, and weather forecasting.
-
Accessibility
- Support for users with disabilities.
- Compliance with accessibility standards.
-
Custom Features
- Enhanced UI/UX design with a Panda Express-themed color scheme.
-
React
- Component-based architecture for scalability and reusability.
- Custom components such as
Navigate
andGoogle Login
.
-
Node.js with Express
- RESTful API development.
- Middleware for handling authentication and data validation.
- API Design: Defines routes for POS transactions, inventory updates, and user authentication.
- Middleware: Implements request validation, error handling, and session management.
-
Database Integration: Connects to PostgreSQL using
pg
module, handling CRUD operations for tables such asorders
,menu_items
, andusers
.
-
PostgreSQL
- Hosted on AWS.
- Structured schema for efficient data management.
- Database Design: Includes tables for menu items, categories, and pricing.
-
Features:
- Add, update, or delete menu items.
- Search for items by name or category.
- Track popular items and sales trends.
-
Features:
- Browse menu items with detailed descriptions and images.
- Place orders and customize items.
- Provide feedback and rate services.
-
Accessibility:
- Optimized for mobile and desktop.
- Supports screen readers and keyboard navigation.
-
Features:
- Process orders quickly with barcode scanning.
- Apply discounts and manage payment methods.
- Access transaction history and generate receipts.
-
Integration:
- Syncs with the inventory system to update stock levels in real time.
-
Features:
- Manage staff accounts and permissions.
- View and export sales reports.
- Monitor inventory levels and generate restocking orders.
-
Advanced Tools:
- Predictive analytics for sales forecasting.
- Role-based access control for sensitive operations.
- Sprints for iterative development and delivery.
- Daily stand-ups and bi-weekly retrospectives.
- Sprint 1: Initial setup, basic UI, and database schema design.
- Sprint 2: Core functionality for POS and inventory systems.
- Sprint 3: API integrations and advanced reporting features.
- Version Control: Git (commits synced to two repositories).
- Task Management: Google Sheets for tracking progress.
-
Handling Large Datasets
- Optimized queries for performance.
- Indexed database tables.
-
Third-Party API Integration
- Built mock endpoints for testing.
- Allocated additional time in sprints for debugging.
-
Flooding During Development
- Remote collaboration tools ensured uninterrupted progress.
- Frontend: Hosted on Vercel.
- Backend: Hosted on Vercel.
- Database: PostgreSQL on AWS.
- Primary Repository: Repository 1
- Secondary Repository: Repository 2