= Simple Meetup
image:https://travis-ci.org/michael-simons/simple-meetup.svg?branch=master["Build Status", link="https://travis-ci.org/michael-simons/simple-meetup"]
A sample project to explore
based on a Spring Boot application.
== Domain
The application should provide a REST-API for managing events and registering for those events. Events must be unique by name on a given day. They can be open and close and have a number of seats available. The number of free seats must be computed by through the current number of registrations. A person can register exactly one time with a given email address.
== Build
You'll need Java 8 and Docker installed to build the project. Just run
./gradlew
or
./gradlew.bat
depending wether you're on a Unix-like- or Windows-Machine.
== Articles and posts
http://info.michael-simons.eu/2017/11/20/integration-testing-with-docker-compose-gradle-and-spring-boot/[Integration testing with Docker-Compose, Gradle and Spring Boot]:: Explains how to use Docker-Compose and a JUnit rule to provide environments for integration tests to a Spring Boot application
https://michael-simons.github.io/simple-meetup/overriding-spring-managed-versions-in-gradle-projects[Overriding Spring managed versions in Gradle projects]:: A quick post explaining how to overwrite Spring Boot managed dependencies with Gradle
https://michael-simons.github.io/simple-meetup/unwrapping-custom-jackson-serializer[Unwrapping custom Jackson Serializers]:: Combine custom JsonSerializers
with @JsonUnwrapped
== Thanks
In no specific order to