Skip to content

Java backend solutions for Unravel WebApp Challenge: concurrency, memory leaks, deadlocks, and DB pooling, thread pools. Includes refactored code and docs for scalability.

Notifications You must be signed in to change notification settings

Artem3/unravel-webapp-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Backend Challenge Solutions

This project contains solutions for the Unravel Backend Developer Challenge. The implementation is organized into dedicated packages within the source code.
The justification and detailed technical solutions for each task are described in the Project Documentation sections below.

Getting Started

Prerequisites

To build and run the project, you need the following:

Building and Running

The project uses the Maven Wrapper (mvnw or mvnw.cmd), so a global Maven installation is optional.

  1. For Session Management, no specific runner was allocated. The solution was achieved purely through the inclusion of necessary library dependencies.

  2. For running the second task, Memory Management, please use the MemoryLeakSimulator.java

  3. To run a Producer-Consumer solution, please use the LogProcessingApp.java

  4. For running the Deadlock solution, please use the DeadlockSimulator.java

  5. To be able to observe logs of Database Connection Pooling solution, you need two things. The first is to run the application main method.

    mvnw spring-boot:run

    This will allow the scheduler to start a counter automatically trigger the monitorPool() method within the DatabaseManager class.
    The second is having MySql db up and running. To simplify this, I've added a docker-compose file to the root of the project which will automatically download an image and run the container with MySql. If you already have a MySql instance running, you can disable spring.docker.compose.enabled=false property in the application.properties

Project Documentation

About

Java backend solutions for Unravel WebApp Challenge: concurrency, memory leaks, deadlocks, and DB pooling, thread pools. Includes refactored code and docs for scalability.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages