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