An open API service indexing awesome lists of open source software.

https://github.com/ppirog/lotto

excercise to practise commercial technologies such as spring-boot, junit, mockito, mongodb, wiremock, docker, testcontainters, redis
https://github.com/ppirog/lotto

docker java junit lombok maven mockito mongodb redis spring spring-boot spring-security testcontainers wiremock

Last synced: 2 months ago
JSON representation

excercise to practise commercial technologies such as spring-boot, junit, mockito, mongodb, wiremock, docker, testcontainters, redis

Awesome Lists containing this project

README

          


Java
Spring
mongoDB
redis
Docker
JUnit
mocikto
Testcontainers
HTTP
REST
IntelliJ
Auth0
Maven
Lombok

This Application simulates lotto game. User gives input numbers and receive a ticket. Then every Saturday at 12:00 application generates winning numbers and at 12:05 user is able to check result.

Generating numbers is done by app using scheduler. To use application user has to register, login and fetch JWT token

To give input numbers use endpoint:
- POST /inputNumbers

To check result use endpoint:
- GET /results/{id}

All functionality are unit and integration tested.

# Core
- Java
- Spring
- MongoDb
- Redis
- Spring Security
- Scheduler
- Docker
- JWT
# Testing:
- JUnit
- AssertJ
- Mockito
- Testcontainers
- Wiremock
- MockMvc

# Architecture
![image](https://github.com/ppirog/Lotto/assets/126290295/480a195f-9cac-4015-ac78-4d88b6918c74)

# Postman
![image](https://github.com/ppirog/Lotto/assets/126290295/91f110e1-4f7d-4676-8e13-7cb380e7a59c)
![image](https://github.com/ppirog/Lotto/assets/126290295/5a686ed9-ade6-4bcf-bae5-c9b76f089329)
![image](https://github.com/ppirog/Lotto/assets/126290295/de78b079-911e-4277-90bc-26e05b7f3527)
![image](https://github.com/ppirog/Lotto/assets/126290295/f83ea9fd-b598-44b1-acec-9a202d71ac4c)
![image](https://github.com/ppirog/Lotto/assets/126290295/e9d01725-2e89-4e5f-b112-d4644c101799)
![image](https://github.com/ppirog/Lotto/assets/126290295/9d18e26d-d755-47e2-af79-543150c7e2a1)

##### To start app go to go to file docker-compose.yml first and launch it