Overview

This page describes the structure, purpose, and API responsibilities of the BeenThere backend. Built with Kotlin and Spring Boot, this service handles the management of visited countries for users, exposing RESTful endpoints for syncing, adding, listing, and deleting countries.


Architecture

Component Technology
Framework Spring Boot
Language Kotlin
Database PostgreSQL
Persistence Spring Data JPA
Build Tool Gradle (Kotlin DSL)
API Style REST

Backend Architecture


Business Logic

All domain logic is encapsulated in the VisitedCountryService, which is responsible for:

Business Logic & Services


Database Model

The current schema includes a single core entity: