Welcome to the technical documentation for the ABC Laboratories Appointment System. This document provides a detailed overview of the system architecture, technologies used, deployment process, and security considerations.
- Developers
- System Administrators
The system is built on a three-tier architecture consisting of:
- Presentation Layer: Implemented using HTML, CSS, JSP, and Bootstrap for frontend development.
- Application Layer: Developed using Java with the Spring MVC framework and Java Servlets for backend logic and business processes.
- Data Layer: Utilizes a MySQL database for storing appointment details, user information, test records, etc.
- User Management: Handles user registration, authentication, and profile management.
- Appointment Booking: Allows patients to schedule test appointments.
- Admin Dashboard: Administration can oversee and manage users and appointments.
- Technician Dashboard: Technicians can manage their appointments.
- Reporting: Generates reports for administration decision-making.
/labSchedulerSystem/src/main/java/
: Contains the source code files for the Lab Appointment System./labSchedulerSystem/src/test/java/
: Includes the unit tests, integration tests, and end-to-end tests for the system./labSchedulerSystem/docs/
: Contains documentation files related to the project./.github/
: Includes GitHub Actions workflows for continuous integration and deployment.
- Java
- HTML, CSS, JavaScript
- Spring Framework
- Bootstrap
- MySQL
- Chart.js
- Font Awesome
- SLF4J Logging
- Maven
Ensure the following prerequisites are met:
- Java Development Kit (JDK)
- Apache Tomcat Server
- MySQL Database Server
- Integrated Development Environment (IDE) like Eclipse or IntelliJ
Configure the database connection details in the application's configuration files, specifying the JDBC URL, username, and password.
Configure email services to enable appointment notifications, including SMTP server settings. Add your email address and password to enable email sending.
- Singleton
- Factory
Logging is implemented using SLF4J with Logback as the logging framework. Log files capture system events, errors, and debug information.
The ABC Laboratories Appointment System follows a comprehensive testing approach to ensure the reliability and functionality of the application. Unit tests are conducted using JUnit to validate individual components and ensure proper integration.
A public GitHub repository was created for the software project. Repository URL: https://github.com/Ridmi211/lab_appointment_system.git
main
: Contains the stable version of the application.feature
: Branches created for developing specific features.dev
: Feature branches are initially merged to this.
Pull requests are used to review and merge changes into the dev
and main
branches.