A Spring Boot REST API for managing satellites and astronauts, built with Java 21 and PostgreSQL. Includes validation, pagination, DTOs, and Docker-based setup.
- Java 21
- Spring Boot 3.4.4
- Spring Data JPA
- Spring Validation
- PostgreSQL (via Docker)
- Lombok
- MapStruct
- Maven
edu.miu.cs.cs489.satcontrol
├── controller
├── dto
│ ├── request
│ └── response
├── exception
├── mapper
├── model
├── repository
├── service
│ └── impl
Start the PostgreSQL container:
docker-compose up -d
A .http file located in src/test/resources/satcontrol.http for test purpose as an alternative of postman.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/v1/astronauts |
Create astronaut |
| GET | /api/v1/astronauts |
Get all (sorted) |
| PUT | /api/v1/astronauts/{id} |
Update astronaut |
| DELETE | /api/v1/astronauts/{id} |
Delete astronaut |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/satellites |
Get all satellites |
| PUT | /api/v1/satellites/{id} |
Update satellite (if allowed) |
Screenshot:



