This project is a Point of Sale (POS) system developed for a Panda Express franchise. It includes a Cashier View, Manager View, and Customer View, offering a comprehensive solution for managing orders, inventory, sales, and employee data. The system is designed to improve operational efficiency and customer experience with an intuitive user interface and dynamic data-fetching capabilities.
- Order Management:
- Handles real-time order creation with support for sides, entrees, drinks, and appetizers.
- Allows customers to choose meal sizes and customize their orders.
- Displays a shopping cart that dynamically updates the total price and items.
- Responsive UI:
- User-friendly interface with visual feedback, such as hover effects and item availability.
- Menu Browsing:
- Displays all available sides, entrees, drinks, and appetizers with images and details.
- Shopping Cart:
- Tracks customer selections and calculates prices dynamically.
- Provides a seamless navigation flow for placing orders.
- Sales Reports:
- X Report: Hourly sales metrics and employee productivity.
- Z Report: Daily sales totals and employee contributions.
- Realistic Sales History: Hourly sales trends with total revenue.
- Weekly Sales History: Aggregated weekly sales data.
- Inventory Management:
- Tracks ingredient quantities and usage for menu items.
- Employee Management:
- Displays employee details such as name, position, and salary.
- Peak Sales Insights:
- Identifies the highest-grossing sales day with total revenue.
- Price Management:
- Allows managers to update item prices dynamically.
- Static Menu Display:
- Showcases all available items with images and categories (e.g., sides, entrees, appetizers).
- Provides a clear and aesthetic presentation of the Panda Express menu.
- Framework: Next.js
- Styling: Tailwind CSS
- Components: React-based reusable components for modularity.
- State Management: Context API for sharing shopping data between views.
- API Integration:
- Fetches data dynamically for views like inventory, sales, and employee reports.
- Updates item prices and inventory levels in real-time.
- PostgreSQL:
- Manages employee, inventory, sales, and menu data with optimized queries.
- Deployment:
- Fully responsive design for optimal user experience across devices.
-
Dynamic and Interactive:
- Real-time updates for orders, inventory, and reports.
- Fully responsive UI designed for both desktop and mobile devices.
-
Efficient Data Management:
- Uses optimized API endpoints to fetch and update data seamlessly.
-
Customizable Views:
- Modular design allows easy integration of new features and functionality.
- Node.js
- PostgreSQL database with schema and data matching the API requirements.
.env
file with the following:DB_USER
,DB_HOST
,DB_NAME
,DB_PASSWORD
,DB_PORT
- Clone the repository.
- Run
npm install
to install dependencies. - Start the development server:
npm run dev
- Access the app in your browser at
http://localhost:3000
.