Barber Shop Appointment App Simple and modern. Features Customer booking Queue management SMS notification Service pricing Amharic and Afan Oromo interface Mobile responsive UI Easy installation Payment getway integrated
# 💈 BarberShop Appointment App
A modern, full-stack barbershop management system with multilingual support (English, Amharic, Afan Oromo).
## Features
| Feature | Details |
|---|---|
| 📅 **Customer Booking** | Multi-step booking with service, barber, date/time selection |
| 💈 **Queue Management** | Real-time queue display, call/serve/skip actions |
| 📱 **SMS Notifications** | Africa's Talking integration for Ethiopian phone numbers |
| 💰 **Service Pricing** | Dynamic pricing management via admin panel |
| 🌐 **Multilingual** | English, አማርኛ (Amharic), Afaan Oromoo (Afan Oromo) |
| 📲 **Mobile Responsive** | Fully responsive Tailwind CSS UI |
| 💳 **Payment Gateway** | Chapa integration (Ethiopian payment gateway) |
| 🔐 **Admin Panel** | Full dashboard with appointments, queue, services, barbers management |
## Tech Stack
- **Frontend**: React 18 + TypeScript + Vite + Tailwind CSS
- **Backend**: Node.js + Express + TypeScript
- **Database**: SQLite (via `better-sqlite3`) — no setup required
- **SMS**: Africa's Talking API
- **Payment**: Chapa Payment Gateway
- **i18n**: react-i18next
## Quick Start
### 1. Clone & Install
```bash
git clone
cd Barbershop_App
npm run setup
```
### 2. Configure Environment
```bash
cp .env.example server/.env
# Edit server/.env with your API keys
```
### 3. Run Development
```bash
npm run dev
```
- Frontend:
localhost
- Backend API:
localhost
## Admin Panel
Visit `/admin` and login with:
- Username: `admin`
- Password: `admin123`
> **Change the password** in production via the database.
## Environment Variables
Copy `.env.example` to `server/.env`:
```env
PORT=5000
JWT_SECRET=your_secret_here
# Africa's Talking (SMS)
AT_API_KEY=your_key
AT_USERNAME=sandbox # Use 'sandbox' for testing
# Chapa (Payment)
CHAPA_SECRET_KEY=CHASECK_TEST-...
CLIENT_URL=
localhost
```
## API Endpoints
| Method | Path | Description |
|---|---|---|
| POST | `/api/auth/login` | Admin login |
| GET | `/api/serv …