A Java service for managing users in the OSRS Goals Tracker system.
This service provides AWS Lambda functions for managing users. It follows a Layered Service Architecture (LSA) pattern and is built with Java 21.
- Project Structure and Architecture - Detailed overview of the project's layered architecture
- Handler Interfaces - Lambda function entry points, inputs, outputs, and public API endpoints
- Service Interfaces - Service layer interfaces, functionality, and integration guidelines
- Data Models - Core data models and their relationships
- JDK 21
- Gradle 8.x
- Install dependencies:
./gradlew build- Run tests:
./gradlew test- Build all Lambda handlers:
./gradlew buildAllHandlersBuild specific Lambda handlers:
# Build GetUser handler
./gradlew getUserLambda
# Build CreateUser handler
./gradlew createUserLambdaEach handler will be built into its own JAR file in build/libs/.
- AWS Lambda Core - Lambda function support
- AWS Lambda Events - Event handling
- AWS DynamoDB - Database operations
- Google Guice - Dependency injection
- Jackson - JSON serialization
- Log4j2 - Logging
- Lombok - Boilerplate reduction
- JUnit 5 - Testing
- Mockito - Mocking for tests
The service is deployed using AWS CDK with the following components:
- API Gateway for REST endpoints
- Lambda functions for business logic
- DynamoDB tables for data storage