Back to projects
Live

Exoplanètes API

Rest API for mapping astronomical observatories and exoplanets

Project image 1

Overview

A REST API built with Java 21 and Spring Boot 3 for managing astronomical observatories and exoplanets. This API exposes a complete CRUD with pagination, filtering, partial updates and business-driven state transitions. It demonstrates advanced Spring Boot patterns: layered architecture, robust persistence via Hibernate with dirty checking and optimistic locking, centralized error handling in RFC 7807 (ProblemDetail), schema migration via Flyway, and interactive OpenAPI/Swagger documentation.

Tech Stack

Java 21Spring Boot 3PostgreSQL 16Hibernate/JPAFlywayOpenAPI/SwaggerMavenDocker

Features & Roadmap

✔ Completed

  • ✓Complete CRUD on exoplanets and observatories
  • ✓Pagination and filtering support
  • ✓Optimistic locking with @Version
  • ✓Business-driven state transitions (confirm/reject)
  • ✓Centralized error handling (RFC 7807)
  • ✓OpenAPI/Swagger documentation
  • ✓Integration tests with Testcontainers

🚧 In Progress

  • ◐Complete endpoint integration tests
  • ◐Production deployment (Docker + AWS Lightsail)

🚀 Planned

  • ○Internationalization of validation messages
  • ○Advanced filtering and search
  • ○Caching strategy optimization

Learn More