This project is a modern single-page application (SPA) for managing barber shop bookings and user authentication, built with the Next.js framework. It provides a seamless experience for users to register, log in, and book appointments, with a focus on clean UI/UX and robust authentication flows.
This application allows users to:
- Register and verify their email address
- Log in using password, magic link, or OTP
- Book, view, and manage appointments with barbers
- Browse available barbers and services
The UI is designed for clarity and ease of use, following the wireframe provided in wireframe.excalidraw (see UI/UX Wireframe).
- Next.js – React framework for server-side rendering and routing
- React.js – Component-based UI library
- Material UI – Component library for fast, accessible design
- Tailwind CSS – Utility-first CSS framework for rapid styling
- User Registration: Sign up with email verification
- Authentication: Login via password, magic link, or OTP
- Booking System: Create, update, and manage appointments
- Barber & Service Listings: View available barbers and services
- Responsive Design: Mobile-friendly and accessible UI
- Node.js (v18 or higher recommended)
- npm or yarn
- Clone the repository:
git clone https://github.com/your-username/erics-barbers-ui.git cd erics-barbers-ui - Install dependencies:
npm install # or yarn install - (Optional) Configure environment variables as needed.
Start the development server:
npm run dev
# or
yarn devThe app will be available at http://localhost:3000.
├── api/ # API client, models, and services
│ ├── generated/ # OpenAPI-generated client code
│ └── repositories/ # Data access and repository logic
├── app/ # Next.js app directory (pages, components, routes)
│ ├── components/ # Shared UI components (navbar, footer, etc.)
│ ├── booking/ # Booking-related pages
│ ├── login/ # Login forms and pages
│ ├── register/ # Registration forms and pages
│ └── ... # Other feature folders
├── public/ # Static assets (if any)
├── config.json # App configuration
├── README.md # Project documentation
└── ...
- Register a new account and verify your email
- Log in using your preferred method
- Browse barbers and available services
- Book, update, or cancel appointments
The wireframe.excalidraw file at the root of this project contains the UI/UX design. Open it at excalidraw.com to view the application's wireframe.
Contributions are welcome! Please open issues or submit pull requests for improvements and bug fixes.
This project is licensed under the MIT License.