Skip to content

Bradltr95/spring-boot

Repository files navigation

Spring Boot Engineers Project

This is a Spring Boot application designed to manage software engineers and their tech stacks. The project uses PostgreSQL as the database and is containerized with Docker.

Features

  • Spring Boot: Backend framework for building RESTful APIs.
  • PostgreSQL: Relational database for storing engineer data.
  • Docker: Containerization for consistent development and deployment.
  • Gradle: Build automation and dependency management.
  • JPA: Simplified database interaction with Hibernate.

Prerequisites

  • Java 17+
  • Docker & Docker Compose
    • Gradle
  • PostgreSQL client (optional)

Setup Instructions

  1. Clone the Repository:

    git clone https://github.com/Bradltr95/spring-boot-engineers.git
    cd spring-boot-engineers
  2. Start the Database: Use Docker Compose to start the PostgreSQL container:

    docker-compose up -d
  3. Run the Application: Use Gradle to build and run the application:

    ./gradlew bootRun
  4. Access the Application:

Configuration

  • Database: Configured in src/main/resources/application.properties.
  • Docker Compose: Configured in docker-compose.yml.

Testing

Run the tests using Gradle:

./gradlew clean test -Psuite=SoftwareEngineerTestSuite_test.xml

All tests will be automatically run by the github workflow under /.github/workflows/pipeline.yml during a merge or PR.

Project Structure

  • src/main/java: Application source code.
  • src/test/java: Unit and integration tests run with TestNG and written using RestAssured.
  • src/test/resources: The TestNG test suites.
  • docker-compose.yml: Docker configuration for PostgreSQL.
  • src/main/resources/application.properties: Application configuration.
  • /build.gradle: The build settings where we define depenencies, plugins, testing and linting.

License

This project is licensed under the MIT License.

About

Spring boot project for writing APIs and connecting to a DB using Docker.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published