Repository navigation
Technology Stack
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 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
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 will be used to build the REST API.
It will handle:
- HTTP requests
- API routes
- Authentication middleware
- Request validation
- Communication with the database
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
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.
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.
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
Git will be used for version control and to track changes made during development.
GitHub will be used for:
- Source code hosting
- Version control collaboration
- GitHub Issues
- GitHub Projects
- Project documentation
- GitHub Wiki
The final technology stack for the project is:
- React
- Tailwind CSS
- Node.js
- Express
- JavaScript
- PostgreSQL
- JWT with HttpOnly Cookies
- Git
- GitHub