Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

User Microservice

Authentication, user profile management, two-factor authentication (TOTP), and watchlist management for the Neo4flix platform.

Requirements

Tool Version
Java 25
Maven 3.9+
PostgreSQL 15+

Cloning

git clone https://github.com/johneliud/user-microservice.git
cd user-microservice

Configuration

The 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

Database Setup

-- Run as the postgres superuser
CREATE DATABASE neo4flix;

Flyway runs migrations automatically on startup — no manual schema setup needed.

Running

./mvnw spring-boot:run

The service starts on http://localhost:8082. Flyway applies any pending migrations on first run.

Testing

# All unit tests (no database required)
./mvnw test

Docs

See 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

About

This microservice will be responsible for reading and writing data about users from the database. It will also be responsible for storing the ratings that users have given to movies.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages