Skip to content

vertyll/freshly

Repository files navigation

Project Assumptions

Application with air quality data from IoT sensors.

Technology Stack

Back-end:

  • Spring Boot
  • Java
  • Gradle Kotlin DSL
  • MongoDB
  • JUnit
  • Mockito
  • Lombok
  • Spring Security
  • Spring Data MongoDB
  • Spring Web
  • Spring Mail
  • OpenAPI (Swagger)

Authentication:

  • Keycloak

Core back-end:

  • Gradle build system
  • the application has an exception handling mechanism
  • the application has a logging mechanism
  • the application has separate environments for dev and prod
  • the application has a dedicated configuration file
  • the application has Keycloak integration for authentication and authorization
  • the application has permission management based on keycloak roles
  • the application written in Domain-Driven Design (DDD) style
  • optimistic locking for concurrent updates with Etag and If-Match header
  • and many other features that can be found in the application code

Other:

  • Docker for development environment
  • PMD for static code analysis
  • SpotBugs for static code analysis
  • JSpecify for null-safety annotations
  • NullAway for null-safety checks
  • Error Prone for static code analysis
  • Spotless for code formatting

Note: During application development, SOLID principles, DRY, composition over inheritance, dependency injection, design patterns, architectural patterns were applied, tests were written, and other good programming practices were adopted.

Releases

No releases published

Packages

 
 
 

Contributors