Project Structure - Domenicko/medical-booking-system GitHub Wiki

Project Structure

The Medical Booking System will use a component-based React structure to keep the code organized, reusable and maintainable.

Main Project Structure

medical-booking-system/
│
├── public/
│
├── src/
│   │
│   ├── assets/
│   │   └── images/
│   │
│   ├── components/
│   │   ├── Navbar/
│   │   ├── DoctorCard/
│   │   ├── BookingForm/
│   │   └── Button/
│   │
│   ├── pages/
│   │   ├── Home/
│   │   ├── Doctors/
│   │   ├── DoctorProfile/
│   │   └── Booking/
│   │
│   ├── data/
│   │   └── doctors
│   │
│   ├── App.jsx
│   ├── main.jsx
│   └── index.css
│
├── .gitignore
├── package.json
├── README.md
└── vite.config.js

Folder Description

public/

Contains static files that can be accessed directly by the application.

src/assets/

Contains project assets such as images and other resources used by the application.

src/components/

Contains reusable React components.

Examples include:

  • Navigation bar
  • Doctor cards
  • Booking form
  • Buttons
  • Other reusable UI elements

src/pages/

Contains the main pages of the application.

Planned pages include:

  • Home
  • Doctors
  • Doctor Profile
  • Booking

src/data/

Contains structured data used by the application, such as doctor information and available specialties.

App.jsx

Contains the main application component and application-level routing or layout.

main.jsx

The entry point of the React application.

index.css

Contains global CSS styles and Tailwind CSS configuration/imports where required.

Component Structure

The application will use reusable components instead of placing all functionality inside a single component.

For example:

Doctors Page
    │
    ├── DoctorCard
    ├── DoctorCard
    ├── DoctorCard
    └── DoctorCard

This approach makes the application easier to maintain and allows components to be reused across different pages.

Development Approach

The project structure may be adjusted during development if new functionality requires additional components, pages or folders.

The final structure will be documented and kept consistent with the actual project implementation.