Backend API for a Movie App similar to this app. Stack/tools include the following:
- Java (23 SDK)
- Spring Boot
- Spring Security (OAuth2)
- Spring Data MongoDB
- MongoDB
- Docker
- Lombok
- Model Mapper
- Testcontainers
- Swagger
- Maven
The following environment variables are needed:
ACTIVE_SPRING_PROFILE=test|dev|prod
MONGO_URI=get-your-own
GB_CLIENT_ID=get-your-own (OAuth2)
GB_CLIENT_SECRET=get-your-own (OAuth2)
http://localhost:8080/swagger-ui/index.html
- To run Mongo DB locally (via Docker), make sure Docker is up and running, then update
docker-compose.yaml
andapplication.yml
files to uncomment sections for local setup.
http://localhost:8081/
- Make sure Docker is up and running.
- Integration tests (that rely on Testcontainers) need to extend the
BaseMongoTest
abstract base class.
- Add tests (integration, unit)
- Add and use custom Exception classes
- Implement authorization & role levels/types
- Add Google (OAuth provider)
- Implement JWT-based auth flow