AthirsonSilva / spring-test-driven

Project done for an Udemy course named "Testing Spring Boot App with JUnit, Mockito & Testcontainers" using Spring Boot 3 and tested with said technologies along with Spring Boot Testing.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

spring-test-driven

Project done for an Udemy course named "Testing Spring Boot App with JUnit, Mockito & Testcontainers" using Spring Boot 3 and tested with said technologies along with Spring Boot Testing.

Requirements

Architecture Layers

PRESENTATION LAYER

This layer is at the top of the architecture. This tier is responsible for:

✔️ Performing authentication.

✔️ Converting JSON data into an object (and vice versa).

✔️ Handling HTTP requests.

✔️ Transfering authentication to the business layer.

BUSINESS LAYER

The business layer is responsible for:

✔️ Performing validation.

✔️ Performing authorization.

✔️ Handling the business logic and rules.

PERSISTENCE LAYER

This layer is responsible for:

✔️ Containing storage logic.

✔️ Fetching objects and translating them into database rows (and vice versa).

DATABASE LAYER

This layer is simply the actual database that is responsible for:

✔️ Performing database operations (mainly CRUD operations).

Software structure

image

Getting Started

  1. Clone the repository
  2. Navigate to the project directory
  3. Build the project using Maven:
./mvnw clean install
  1. Run the project using Maven wrapper:
./mvnw spring-boot:run
  1. The application will start on http://localhost:8080

Usage

  • You will also need the database installed on your machine and set the connection vars on the application.properties or application.yml

About

Project done for an Udemy course named "Testing Spring Boot App with JUnit, Mockito & Testcontainers" using Spring Boot 3 and tested with said technologies along with Spring Boot Testing.


Languages

Language:Java 91.1%Language:Kotlin 8.9%