This repository contains the backend for the Memory minigame.
It persists the game data (configurations, game results, etc.) in a database and communicates with other backend services.
- User documentation for the minigame can be found here.
- For the frontend, see the Gamify-IT/memory repository.
- The installation manual and setup instructions can be found here.
Beginning of additions (that work)
Make sure you have the following installed:
- Java: JDK 1.17 or higher
- Maven: Maven 3.6.3
- Docker: Docker
- PostgreSQL: PostgreSQL
To build the project, run:
mvn install
in the project folder. Then go to the target folder:
cd target
and run:
java -jar memory-backend-0.0.1-SNAPSHOT.jar
to start the application.
To run your local changes as a docker container, with all necessary dependencies, build the Docker container with:
docker compose up --build
You can remove the containers with:
docker compose down
To run your local build within your IDE, but also have the dependencies running in docker, follow the steps to build the project, then run the dependencies in docker with the following:
docker compose -f docker-compose-dev.yaml up
You can remove the containers with:
docker compose -f docker-compose-dev.yaml down
End of additions
To set up a database with docker for testing you can use
docker run -d -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=postgres --rm --name memory-database postgres
To stop and remove it simply type
docker stop memory-database
Rest mappings are defined in
- Config
controller:
src/main/java/de/unistuttgart/memorybackend/controller/ConfigController.java
- Game result
controller:
src/main/java/de/unistuttgart/memorybackend/controller/GameResultController.java
When the service is started (see Getting started), you can access the API documentation:
Open http://localhost/minigames/memory/api/v1/swagger-ui/index.html#/ and
fill http://localhost/minigames/memory/api/v1/v3/api-docs
into the input field in the navbar.