A modern, responsive Point of Sale (POS) system built with Next.js, Tailwind CSS, and MongoDB for bike and car service management.
- Dashboard: Clean interface with service selection (Bike/Car)
- Dynamic Pricing: Predefined prices with custom amount option
- Real-time Checkout: Live order summary and transaction processing
- Admin Dashboard: Sales analytics, transaction history, and settings management
- Print Functionality: Thermal receipt printing support
- Notifications: Toast notifications for user feedback
- Responsive Design: Optimized for tablets and desktops
- Framework: Next.js (App Router)
- Styling: Tailwind CSS
- Database: MongoDB with Mongoose
- State Management: Zustand
- Charts: Recharts
- Notifications: React Hot Toast
- Node.js 18+
- MongoDB (local or cloud instance)
-
Clone the repository
-
Install dependencies:
npm install
-
Set up environment variables: Create
.env.localwith:MONGODB_URI=mongodb://localhost:27017/opos -
Start MongoDB service
-
Run the development server:
npm run dev
- Navigate to the dashboard and select Bike or Car service
- Choose from predefined prices or enter a custom amount
- Review the order summary and place the order
- Print the receipt or close the modal
- Access admin panel at
/adminfor analytics and settings
GET/POST /api/orders- Manage ordersGET/PUT /api/settings- Manage pricing settings
npm run buildEnsure MongoDB connection string is set in environment variables.