CloudMedia is a backend-first, service-oriented platform for user-generated media (YouTube-style MVP).
Current implementation is centered on Java Spring Boot domain services, with infrastructure and API contracts already in place for broader multi-language expansion.
- Java microservices for identity, content, social, policy, and discovery
- Local development infrastructure via Docker Compose (Postgres, Kafka, Redis)
- REST API contract and backend implementation planning docs
- CI with Markdown linting, Java quality gates, and identity-service test coverage checks
Java services under services/java:
identity-service(:8081) - auth/session/token flowscontent-service(:8082) - content metadata and playback gatingsocial-service(:8083) - follows/comments/playlistspolicy-service(:8084) - moderation + age/geo policy evaluationdiscovery-service(:8085) - search and home feed filtering/ranking
- Java 21+
- Maven 3.9+
- Docker + Docker Compose
- Start local infrastructure:
make dev-upThis starts:
- Postgres on
localhost:5432 - Kafka on
localhost:9092 - Redis on
localhost:6379
- Run a service (example: identity-service):
cd services/java
SPRING_PROFILES_ACTIVE=local mvn -pl identity-service -am spring-boot:run- Stop or reset infrastructure when needed:
make dev-down # keep data
make dev-reset # destroy dataFrom services/java:
# Run formatter + style checks for one module
mvn -pl discovery-service spotless:apply checkstyle:check
# Run tests for one module
mvn -pl discovery-service test
# Validate all Java modules quickly
mvn -f pom.xml -DskipTests validate- REST API contract:
docs/contracts/rest-api-v1.md - MVP backend plan:
docs/mvp-backend-implementation-plan.md - Modular rollout roadmap:
docs/modular-implementation-roadmap.md
services/java- Java services monorepo parent + modulesscripts/dev- local infra lifecycle scriptsdocker+docker-compose.yml- local infra definitionsdocs- contracts, architecture notes, and implementation plans.github/workflows/ci.yml- CI pipeline
.envis auto-created from.env.exampleif missing when you runmake dev-up.- Discovery's OpenSearch integration is present but disabled by default in local config.
- Go-based services are part of the target architecture but are not scaffolded in this repo yet.