Skip to content
Panderu edited this page Mar 26, 2025 · 3 revisions

Study Buddies Backend Server Wiki

Welcome to the official wiki for the Study Buddies backend server! This wiki serves as a central hub for all the information you need to understand, set up, and deploy our backend server.

Server Overview

The Study Buddies backend server is built using modern technologies. Here are the key details:

  • Programming Language: The server is written in Java 17.
  • Framework: We utilize the Spring Boot framework, which simplifies the development of production-ready applications with minimal configuration.
  • Package Manager: Maven is used for managing project dependencies and build processes.

Currently, the server uses an in-memory database for development and testing purposes. However, for production environments, we strongly recommend switching to a PostgreSQL database to ensure data persistence and better performance.

Development Setup

To set up the development environment for the Study Buddies backend server, you will need to create a .env file in the root directory of the project. This file should specify the following environment variables for Keycloak database configuration:

  • KC_DB_USERNAME: The username for the Keycloak database.
  • KC_DB_PASSWORD: The password for the Keycloak database.

Additionally, the project includes a development profile that disables the authentication mechanism. Please note that running the server with this profile will also disable some functions that rely on authentication features. Therefore, it is recommended to use this profile only for local development and testing purposes.

For API documentation, you can access a Swagger page under the /api-docs endpoint. This page provides a comprehensive overview of all available API endpoints and their usage. To interact with the API, you will need an authorization token, which can be retrieved from Keycloak.

For further assistance with API testing and configuration, you can refer to the Bruno collection available at the following GitHub repository: Halbes-Byte/bruno-collection. This collection includes pre-configured requests to Keycloak.

Docker and Deployment

To streamline the deployment process, we provide Docker support:

  • Docker Compose: A Docker Compose file is included in the project, which sets up a Keycloak server for identity and access management. For more detailed information on configuring and using Keycloak, please refer to the dedicated wiki page.
  • Docker Hub: We maintain a Docker image on Docker Hub. You can pull this image and run it directly, making it easy to get the server up and running in any environment.

Quick Links

  • API Documentation: Access comprehensive documentation for our API endpoints. This will help you understand how to interact with the server programmatically.

We hope this wiki helps you get started with the Study Buddies backend server. If you have any questions or need further assistance, feel free to reach out!

Clone this wiki locally