To put it simply:
Our project is a website/webapplication that focuses on the aggregation, sharing and evaluation of minigames played in the browser.
Gaminatorium is a place where you can come for a moment and play various implementations of card games, board games or any other games, solo or multiplayer.
It's a portal created for programmers, a place where you can view the code of any game and contact its creator. The motto of Gaminatorium is:
We want our website to become a place where you can play with technology, see how something is created, ask about technical details, evaluate the creations of other developers and learn from each other.
- The user can create his own account and personalize profile elements.
- The user can browse the list of currently available games, and after clicking on the selected item, receives information such as: game description, screenshot, link to the game code (GitHub), contact to the author (e.g. LinkedIn) and game's current average rating.
- While logged in, users can run the selected game, after which they will be redirected and served by the website of the given game.
- A logged in user can add their own game to our database using the attached form (provided that the game passes moderation).
- Games provided by Gaminatorium may be stand-alone productions and have no connection with our website. But they can also use the public Gaminatorium API, e.g. to download information about a new player.
- Games subordinated to Gaminatorium can be created as separate microservices, independent of the technologies used in the main website.
- Regular use of the website is rewarded with points that can be exchanged for certain profile decoration elements (i.e. skins).
- Possibilities of interaction between users: adding to friends, sending invitations to play together, etc.
The backend of the main Gaminatorium website is created using Java 21, Spring Boot 3.2.6 and Gradle 8.7 (Groovy). Additionally:
- database on Postgres + Hibernate + Liquibase
- Keycloak takes care of the authentication procedures
- standard test stack, i.e. JUnit/Mockito supplemented by Spock and WireMock
- containerization: Docker + Docker Compose
- messaging: RabbitMQ
- CI/CD: Jenkins
- REST API exposed using Swagger 3 (OpenAPI)
The Gaminatorium frontend repository is available here.
Work on Gaminatorium started in May 2024, the project is managed in Jira and currently 5 people work on it. You can see the current version of the application on the website gaminatorium.eu
The easiest way to view our project locally is to copy the docker-compose.yml file (it is in the root directory of this repository) and run it with the command:
docker-compose up -d
The prerequisite is to have Docker installed with the Docker Compose plugin.
- Backend/DevOps: Jakub Raczkowski
- Backend: Michał Grot
- Frontend: Michał Wojnowski
- Frontend: Kacper Heluszka
- Frontend: Michał Momot