Monorepo with:
client/(Next.js frontend)server/(Spring Boot backend)- PostgreSQL (via Docker Compose)
- Java 17 or higher
- Node.js 21 or higher
- Docker and Docker Compose
- Start PostgreSQL
Install Docker, then run the following command in terminal
cd server
docker compose up -d- Run backend
Use a Spring Boot extension to run backend in VSCode or Intellij
Requires Java 17+- Run frontend
cd client
npm i
npm run dev
Requires Node.js 21+Create .env files (DO NOT commit secrets to git).
POSTGRES_USER=
POSTGRES_PASSWORD=
TMDB_API_KEY=
JWT_SECRET=
JWT_EXPIRES_IN=
Configure datasource in application.properties:
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=${POSTGRES_USER}
spring.datasource.password=${POSTGRES_PASSWORD}
spring.jpa.hibernate.ddl-auto=update
Run Database(from Docker) first as it will load .env
NEXT_PUBLIC_API_URL=http://localhost:8080
NEXT_PUBLIC_TMDB_IMAGE_BASE_URL=https://image.tmdb.org/t/p/w342