Home

Awesome

Description

An assignment done for some job interview and slightly refactored since then.

It reads the input file containing log entries stored in JSON format (JsonLogRepository class). Then it processes them calculating duration for the matched logs (DefaultLogHandle class) and sets alert if applicable (FlagEventStrategy.LONG_EVENT class). Finally the processed logs are stored in the database (JdbcEventRepository class).

It features object-oriented design, clean code, hexagonal architecture and prioritize the Single Responsibility Principle.

Pre-requirements:

Usage

gradlew run --args="INPUT_FILE [DATABASE_NAME]"

Examples:

Design Considerations