Skip to content

Technology Stack

ana edited this page Oct 14, 2026 · 2 revisions

Technology Stack

1. Frontend

React

React will be used to build the frontend of the Medical Booking System.

React allows the application to be divided into reusable components such as:

  • Navigation
  • Doctor cards
  • Doctor profile
  • Booking form
  • Appointment information

Tailwind CSS

Tailwind CSS will be used for styling and responsive design.

It will be used to create:

  • Responsive layouts
  • Buttons and forms
  • Cards and navigation
  • Spacing and typography
  • Mobile, tablet and desktop layouts

2. Backend

Node.js

Node.js will be used as the runtime environment for the backend application.

Node.js allows the backend to use the same JavaScript/TypeScript ecosystem as the React frontend.

Express

Express will be used to build the REST API.

It will handle:

  • HTTP requests
  • API routes
  • Authentication middleware
  • Request validation
  • Communication with the database

JavaScript

JavaScript will be used for the backend to provide static typing and improve code maintainability.

It will be used for:

  • API request and response types
  • Database models
  • Application services
  • Authentication-related data

3. Database

PostgreSQL

PostgreSQL will be used as the main database.

A relational database is appropriate for this project because the system contains related entities such as:

  • Users
  • Doctors
  • Specialties
  • Appointments
  • Available time slots

The relationships between these entities are important for preventing inconsistent appointment data.

4. Authentication

JWT with HttpOnly Cookies

The application will use JWT-based authentication with HttpOnly cookies.

After a successful login, the backend will create an authentication token and store it in an HttpOnly cookie.

Protected API endpoints will verify the token before processing requests that require authentication.

5. API Architecture

The backend will provide a REST API that allows the React frontend to communicate with the server.

The basic architecture will be:

React Frontend → Express REST API → PostgreSQL Database

6. Version Control and Project Management

Git

Git will be used for version control and to track changes made during development.

GitHub

GitHub will be used for:

  • Source code hosting
  • Version control collaboration
  • GitHub Issues
  • GitHub Projects
  • Project documentation
  • GitHub Wiki

7. Selected Technology Stack

The final technology stack for the project is:

  • React
  • Tailwind CSS
  • Node.js
  • Express
  • JavaScript
  • PostgreSQL
  • JWT with HttpOnly Cookies
  • Git
  • GitHub

Clone this wiki locally