The RESTful API for Laboratory Internal Quality Control is designed to assist clinical and research laboratories in monitoring and controlling the quality of their processes. This API provides endpoints to manage information related to control standards, test results, statistical analyses, and other activities essential for ensuring the accuracy and reliability of laboratory data.
├── .github/workflows # GitHub Actions workflow configurations
├── src/
│ ├── main/
│ │ ├── java/leonardo/labutilities/qualitylabpro/
│ │ │ ├── configs/ # Application configurations
│ │ │ │ ├── date/ # Date/time configurations
│ │ │ │ ├── docs/ # API documentation
│ │ │ │ ├── rest/ # REST configurations
│ │ │ │ └── security/ # Security settings
│ │ │ ├── controllers/ # REST endpoints
│ │ │ ├── dtos/ # Data Transfer Objects
│ │ │ ├── entities/ # Domain entities
│ │ │ ├── repositories/ # Data access layer
│ │ │ ├── services/ # Business logic
│ │ │ └── utils/ # Helper classes
│ │ └── resources/
│ │ ├── db/migration/ # Flyway migrations
│ │ └── application.properties
│ └── test/
│ └── java/ # Test classes
├── database/ # Database scripts
├── nginx/ # Nginx configurations
├── docker-compose.yml # Docker compose files
└── pom.xml # Maven configuration
configs/
: Configuration classes for security, documentation, and morecontrollers/
: REST API endpoints organized by domainservices/
: Business logic implementationsdtos/
: Data Transfer Objects for API requests/responsesentities/
: Domain model classesrepositories/
: Database access layerutils/
: Helper classes and utilities.github/workflows/
: CI/CD pipeline configurations
This project uses GitHub Actions for automated testing and deployment. Our CI/CD pipeline includes:
- Automated build and test execution
- Code quality checks
- Docker image building
- Automated deployment to staging/production environments
You can view the workflow configurations in the .github/workflows
directory.
Run the command below in Git Bash or Terminal to clone the repository:
git clone https://github.com/LabGraphTeam/LabGraph-Back-End.git
In the project root directory, run the command:
docker compose -f docker-compose-dev.yml up --build
http://localhost:8080/swagger-ui.html
To run tests with detailed output:
./mvnw test -Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
For even more detailed test output:
./mvnw test -X
![Screenshot 2024-12-06 at 18 01 35](https://private-user-images.githubusercontent.com/123477726/400250324-4fca9580-c012-48ef-a3d7-bf264593ccf2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5MDU1NDYsIm5iZiI6MTczODkwNTI0NiwicGF0aCI6Ii8xMjM0Nzc3MjYvNDAwMjUwMzI0LTRmY2E5NTgwLWMwMTItNDhlZi1hM2Q3LWJmMjY0NTkzY2NmMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwN1QwNTE0MDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kMzg5YjJkNTZhYmNjM2I0ZWZkMjBkYjZlMGVjZDA1MzcyMDU1NWM0N2M3NTk3ZjgwYTljZjFkZDQxZTdkYTk3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.MsT-rDRjtFpvPSQ9fsw8qYCl-ZHMieAIawvKn_dIKa8)
- Fork the repository.
- Create a new branch (
git checkout -b feature/branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/branch
). - Open a pull request.
This project is licensed under the GNU General Public License v3.0 (GPL-3.0) - see the LICENSE file for details.
The GPL-3.0 ensures that:
- The software remains open source
- Any modifications or derived works must also be released under GPL-3.0
- Source code must be made available when distributing the software