“Track your visited countries on an interactive world map.”
BeenThere is a full-stack web application designed to let users visualize the countries they’ve visited by interacting with a dynamic, responsive map. It leverages modern web technologies, a modular architecture, containerization, and GitOps principles for robust development and deployment workflows.
Getting Started
Set up and run BeenThere locally or in production environments using standardized, automated tooling.
Compose
- Docker Compose configuration for spinning up all services (frontend, backend, database) locally in a unified development environment.
Charts
- Helm charts for packaging and deploying the full application stack into Kubernetes clusters, with support for multiple environments (e.g., dev, prod, release versions).
CD
- GitOps-style continuous delivery via Argo CD. Declarative configuration for syncing Helm charts from Git to Kubernetes environments, with a plug-and-play setup script.
Development
Explore the core components that power BeenThere - cleanly organized and independently deployable.
Frontend
- A React + TypeScript single-page application built with modular components. It handles UI rendering and communicates with the backend via REST APIs.
Backend
- A Kotlin Spring Boot REST API that manages all business logic, data persistence, and country tracking features.
Docker
- Production-ready Dockerfiles for the frontend and backend, using multi-stage builds for optimized, lightweight images.