-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Andrzej Kojder edited this page Nov 10, 2025
·
3 revisions
Photo Map MVP is a full-stack application for managing photos with geolocation. Built with Angular 18, Spring Boot 3, and PostgreSQL.
| Page | Description |
|---|---|
| User Guide | How to use the application - registration, gallery, map, filters, rating, admin panel |
| Page | Description |
|---|---|
| Quick Start | Get started in 5 minutes - prerequisites, setup, first login |
| Development Setup | Detailed setup guide - environment, project structure, daily workflow, conventions |
| Architecture | Tech stack, frontend/backend architecture, database schema, design decisions |
| API Documentation | REST API reference - Swagger UI, endpoints, DTOs, authentication flow |
| Testing & Quality | Local testing, CI/CD pipeline, writing tests, coverage requirements |
| Scripts Reference | Development scripts - start/stop, testing, rebuild, hooks |
| Deployment | Docker Compose, Mikrus VPS, build & deploy, SSL, troubleshooting |
| Page | Description |
|---|---|
| AI Development Methodology | Claude Code, GitHub Copilot, Gemini CLI, prompt engineering, code conventions, git workflow |
New to the project? Follow this path:
- Quick Start - Get the app running in 5 minutes
-
Scripts Reference - Essential development scripts (
reset-data.sh,start-dev.sh,run-all-tests.sh) - Development Setup - Detailed environment setup and project structure
- Architecture - Understand the tech stack and design decisions
- API Documentation - Explore the REST API with Swagger UI
- Testing & Quality - Learn about testing strategy and CI/CD
Project:
- Repository: github.com/kojder/photo-map-app
-
Production:
https://your-domain.com/(example)
Dashboards:
- GitHub Actions: CI/CD Workflows
- SonarCloud Backend: Code Quality Dashboard
- SonarCloud Frontend: Code Quality Dashboard
Documentation:
- Swagger UI: http://localhost:8080/swagger-ui/index.html (after starting backend)
- API Docs: http://localhost:8080/v3/api-docs (OpenAPI JSON)
Status: β Core MVP Complete (100%)
Implemented Features:
- β Authentication - JWT tokens, BCrypt password hashing, role-based access control
- β Photo Upload & Processing - Automatic EXIF extraction (GPS, date), thumbnail generation
- β Gallery View - Responsive grid with filters, rating, fullscreen photo viewer
- β Map View - Interactive Leaflet.js map with GPS markers and markercluster plugin
- β Rating System - Rate photos 1-5 stars, view overall average and personal ratings
- β Admin Panel - User management, permissions, photo oversight
- β Photo Viewer - Fullscreen browsing with keyboard navigation and mobile touch support
- β CI/CD Pipeline - GitHub Actions with build, test, and SonarCloud analysis
- β E2E Tests - Playwright tests (6 specs, 15+ test cases)
- β Deployment - Docker Compose deployment to Mikrus VPS with Nginx reverse proxy
Test Coverage:
- Frontend Unit Tests: 199 tests (Karma + Jasmine)
- Backend Unit Tests: 78 tests (JUnit 5 + Mockito)
- E2E Tests: 6 specs, 15+ test cases (Playwright)
- Coverage: Backend >50%, Frontend >50%
Planned Features:
- π Email System - Email verification, password reset, notifications
- π User Deactivation & Orphaned Photos Cleanup - Soft delete users, manage orphaned photos
- π Public Photo Sharing - Share photos via UUID links without authentication
- π Temporal & Spatial Filters - "Same month in other years", "Same location"
- π Gallery Photo Card Optimization - Focus on photos, overlay controls
- π NAS Batch Processing - Bulk photo import from NAS with local thumbnails only
For detailed feature specifications, see .ai/features/ directory in the repository.
Frontend:
- Angular 18.2.0 (standalone components, Signals)
- TypeScript 5.5.2+ (strict mode)
- Tailwind CSS 3.4.17
- Leaflet.js 1.9.4 (interactive maps)
- RxJS 7.8.0 (BehaviorSubject pattern)
Backend:
- Spring Boot 3.2.11 (Java 17 LTS)
- PostgreSQL 15
- Spring Security 6 (JWT authentication)
- metadata-extractor 2.19.0 (EXIF extraction)
- Thumbnailator 0.4.20 (thumbnail generation)
Testing:
- Frontend: Karma + Jasmine
- Backend: JUnit 5 + Mockito
- E2E: Playwright
- CI/CD: GitHub Actions + SonarCloud
Deployment:
- Docker Compose
- Nginx (reverse proxy)
- PostgreSQL (shared Mikrus service)
- Mikrus VPS (4GB RAM)
For complete tech stack details, see Architecture.
- Quick Start: See Quick Start guide
- Development Issues: Check Development Setup and Scripts Reference
- API Questions: Explore API Documentation and Swagger UI
- Contributing: Read Contributing guidelines
- Deployment Problems: See Deployment troubleshooting section
Last Updated: 2025-11-10
Sources:
-
README.md(Project overview, badges, features, tech stack) -
PROGRESS_TRACKER.md(Project status, roadmap)