An Indian Barber-Centric Appointment & Queue Management Web App
- π± Mobile-first responsive design
- π Secure authentication with phone/email
- π Book appointments with service selection
- β° Join live queues and view wait times
- π Get notified when turn approaches
- π View booking status and history
- π― Manage appointments and queues
- β° Set available time slots
- π οΈ Update services and pricing
- π Track customer status
- π Dashboard with real-time updates
- React.js with hooks
- Tailwind CSS for styling
- React Router for navigation
- Axios for API calls
- Socket.io-client for real-time updates
- Node.js + Express.js
- MongoDB + Mongoose
- JWT authentication
- Socket.io for real-time features
- Bcrypt for password hashing
npm run install-depsCreate .env files in both client and server folders with required variables.
npm run devPOST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/auth/profile- Get user profile
GET /api/services- Get all servicesPOST /api/services- Create service (barber only)PUT /api/services/:id- Update serviceDELETE /api/services/:id- Delete service
POST /api/bookings- Create bookingGET /api/bookings/user/:id- Get user bookingsGET /api/bookings/barber/:id- Get barber bookingsPUT /api/bookings/:id- Update booking status
GET /api/queue/:barberId- Get queue for barberPOST /api/queue/join- Join queuePUT /api/queue/update- Update queue status
- name, phone, email, password, role (customer/barber)
- name, price, duration, description
- user, barber, services, status, scheduledTime
- barber, queue items with booking references
- Build:
npm run build - Deploy dist folder
- Deploy server folder
- Set environment variables
- Fork the repository
- Create feature branch
- Commit changes
- Push to branch
- Create Pull Request
MIT License - see LICENSE file for details