Skip to content

Repository files navigation

Doctor Booking - Medical Appointment Platform

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.

Features

For Patients

  • 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

For Doctors

  • Dashboard with statistics
  • Calendar with available time slots
  • Accept/reject booking requests
  • View all bookings

Technical Stack

  • 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)

Getting Started

# Install dependencies
npm install

# Run development server
npm run dev

Environment Variables

Create .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=...

Project Structure

app/
├── (auth)/           # Login & Register
├── api/             # API Routes
├── doctor/          # Doctor Dashboard, Calendar, Requests
├── patient/         # Patient Dashboard
└── search/         # Doctor Search & Map

License

MIT

About

A full-stack medical appointment booking system built with Next.js 15, Firebase, and Stripe.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages