A full-stack web application for booking doctor appointments in Algeria. Patients can search for nearby doctors on a map, view their availability, and book appointments. Doctors can manage their schedule, appointments, and patient requests.
- Search doctors by specialty on interactive map
- View doctor profiles with ratings and reviews
- Book appointments (free or paid)
- Manage upcoming and past appointments
- Cancel reservations
- Dashboard with statistics
- Calendar with available time slots
- Accept/reject booking requests
- View all bookings
- Frontend: Next.js 16, React 19, Tailwind CSS 4
- Backend: Next.js API Routes, Firebase Admin SDK
- Database: Firebase Firestore
- Auth: Firebase Authentication
- Maps: Google Maps API
- Payments: Stripe (integration ready)
# Install dependencies
npm install
# Run development server
npm run devCreate .env.local with your Firebase and Stripe keys:
NEXT_PUBLIC_FIREBASE_API_KEY=...
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=...
NEXT_PUBLIC_FIREBASE_PROJECT_ID=...
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=...
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=...
app/
├── (auth)/ # Login & Register
├── api/ # API Routes
├── doctor/ # Doctor Dashboard, Calendar, Requests
├── patient/ # Patient Dashboard
└── search/ # Doctor Search & Map
MIT