How farhan-al-shahrier-siam/accio_doc works
AccioDoc is a doctor-discovery and appointment-booking web app. Users browse or search specialists, inspect a doctor’s profile and availability, submit a booking, then manage their profile and bookings in a dashboard; login and registration support access. The map includes the documented-by-source homepage sections, authentication, doctor listings/details, booking, and dashboard management. Several feature implementations are indexed but not excerpted, so inferred links are dashed; the backend API is external to this repository.
Main entry points: data.js Data access · auth.js Auth service · dashboard/page.jsx Patient dashboard · all-appointment/page.jsx Specialist listing
Components 29
Discovery and presentation
- Home page
src/app/(main)/page.js - Home banner
src/components/home/Banner.jsx - Home sections
src/components/home - Shared navigation
src/components/shared/Navbar.jsx - Shared footer
src/components/shared/Footer.jsx
Appointment workflows
- Specialist listing
src/app/(main)/all-appointment/page.jsx - Doctor search
src/components/all-appointment/Searchfield.jsx - Doctor list
src/components/all-appointment/DoctorList.jsx - Doctor card
src/components/all-appointment/DoctorCard.jsx - Search results
src/app/(main)/search/[name]/page.jsx - Doctor details
src/app/(main)/details/[id]/page.jsx - Booking form
src/components/detailsPage/BookingModal.jsx - Patient dashboard
src/app/(main)/dashboard/page.jsx - Profile management
src/components/dashboard/ProfileCard.jsx - Profile editor
src/components/dashboard/EditModal.jsx - My bookings
src/components/dashboard/MyBookings.jsx - Booking management
src/components/dashboard/BookingCard.jsx - Booking editor
src/components/dashboard/EditBookingModal.jsx - Booking deletion
src/components/dashboard/DeleteBTN.jsx
Identity and access
- Login page
src/app/(auth)/login/page.jsx - Registration page
src/app/(auth)/register/page.jsx - Auth client
src/lib/auth-client.js - Auth service
src/lib/auth.js - Auth API route
src/app/api/auth/[...all]/route.js - Access proxy
src/proxy.js
Data and integrations
- Data access
src/lib/data.js - Doctor and appointment API
- MongoDB
Other components
- Patient
Connections 30
- Home page → Home banner: renders
src/app/(main)/page.js - Home page → Home sections: renders
src/app/(main)/page.js - Patient → Home page: opens
- Patient → Specialist listing: browses
- Specialist listing → Doctor search: renders
src/app/(main)/all-appointment/page.jsx - Specialist listing → Doctor list: renders
src/app/(main)/all-appointment/page.jsx - Doctor search → Search results: redirects
src/components/all-appointment/Searchfield.jsx - Search results → Doctor card: renders
src/app/(main)/search/[name]/page.jsx - Doctor list → Doctor card: renders
src/components/all-appointment/DoctorList.jsx - Doctor list → Data access: loads doctors
src/components/all-appointment/DoctorList.jsx - Search results → Data access: searches doctors
src/app/(main)/search/[name]/page.jsx - Doctor details → Data access: loads doctor
src/app/(main)/details/[id]/page.jsx - Doctor details → Booking form: renders
src/app/(main)/details/[id]/page.jsx - Booking form → Auth client: uses session
src/components/detailsPage/BookingModal.jsx - Data access → Doctor and appointment API: fetches
src/lib/data.js - Patient → Login page: signs in
- Patient → Registration page: registers
- Login page → Auth client: authenticates
src/app/(auth)/login/page.jsx - Registration page → Auth client: creates account
src/app/(auth)/register/page.jsx - Auth API route → Auth service: dispatches to
src/app/api/auth/[...all]/route.js - Auth service → MongoDB: stores identity
src/lib/auth.js - Patient dashboard → Auth service: gets session
src/app/(main)/dashboard/page.jsx - Patient dashboard → Profile management: renders
src/app/(main)/dashboard/page.jsx - Patient dashboard → My bookings: renders
src/app/(main)/dashboard/page.jsx - Profile management → Profile editor: opens editor
src/components/dashboard/ProfileCard.jsx - My bookings → Booking management: renders
src/components/dashboard/MyBookings.jsx - Booking management → Booking editor: opens editor
src/components/dashboard/BookingCard.jsx - Booking management → Booking deletion: offers deletion
src/components/dashboard/BookingCard.jsx - My bookings → Data access: loads bookings
src/components/dashboard/MyBookings.jsx - Access proxy → Auth service: checks access
src/proxy.js