Authentication, user profile management, two-factor authentication (TOTP), and watchlist management for the Neo4flix platform.
| Tool | Version |
|---|---|
| Java | 25 |
| Maven | 3.9+ |
| PostgreSQL | 15+ |
git clone https://github.com/johneliud/user-microservice.git
cd user-microserviceThe service uses two properties files:
src/main/resources/application.properties — contains environment variable placeholders (committed).
src/main/resources/application-secrets.properties — contains actual values for local development (gitignored). Create it manually:
server.port=8082
spring.datasource.url=jdbc:postgresql://localhost:5432/neo4flix
spring.datasource.username=postgres
spring.datasource.password=your_password
jwt.secret=your_32_plus_char_secret_here
jwt.expiration=86400000
jwt.refresh-expiration=604800000
jwt.mfa-expiration=300000
totp.issuer=Neo4flix-- Run as the postgres superuser
CREATE DATABASE neo4flix;Flyway runs migrations automatically on startup — no manual schema setup needed.
./mvnw spring-boot:runThe service starts on http://localhost:8082. Flyway applies any pending migrations on first run.
# All unit tests (no database required)
./mvnw testSee docs/ for:
- Architecture — system position, package structure, security model, data flows, DB schema
- API Reference — all endpoints, request/response schemas
- API Testing Guide — Postman and curl examples for every endpoint