Skip to content

Gamify-IT/memory-backend

Repository files navigation

Memory-backend

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.

Table of contents

Links

  • 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.

Development

Getting started

Beginning of additions (that work)

Make sure you have the following installed:

Run

Project build

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.

Build with docker

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

Run local with dependencies

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

Testing Database

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 API

Rest mappings are defined in

Swagger-Ui

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.