Trybik (Server) – timetable, exam calendar & ECTS calculator for students of Mechanical Engineering @ Cracow University of Technology
- Framework: Java Spring Boot 3.5+
- Language: Java 21
- Database: MySQL (H2 used for tests)
- Authentication: JWT (JSON Web Tokens)
- API Docs: Swagger / OpenAPI
- Caching: Caffeine
- Build / Project: Maven (mvn / ./mvnw)
- Containerization: Docker
git clone https://github.com/TrybikDevelopers/Trybik-backend.git
cd Trybik-backendIf the Maven wrapper is present:
./mvnw clean packageOr with your system Maven:
mvn clean packageBuild and run locally:
docker build -t trybik-backend .
docker run -d --name trybik-backend -p 8080:8080 trybik-backendIf an official container image is published (check the Releases or container registry), you can pull and run:
docker pull ghcr.io/trybikdevelopers/trybik-backend:latest
docker run -d --name trybik-backend -p 8080:8080 ghcr.io/trybikdevelopers/trybik-backend:latestThis backend exposes RESTful endpoints for:
- Timetable management (by study group, with filters)
- Exam calendar and exam types
- ECTS calculator
- Group and subject listings
- (Other endpoints may exist — check the controller packages / OpenAPI docs)
For implementation details, examples and payload shapes see the module-level API references below:
- Timetable — Detailed docs: TIMETABLE.MD
- Exam calendar — Detailed docs: EXAMCALENDAR.MD
- Moderator — Detailed docs: MODERATOR.MD
- Events — Detailed docs: EVENTS.MD
Authentication
- Endpoints are protected using JWT tokens.
- Example header:
Authorization: Bearer <token>
Content-Type: application/json
API documentation (Swagger UI / OpenAPI) is usually available at:
http://localhost:8080/swagger-ui/index.html or http://localhost:8080/v3/api-docs (if Swagger/OpenAPI is enabled in configuration).
Run unit and integration tests:
./mvnw test
# or
mvn testThe project may use H2 for tests — check test configuration files for details.
We welcome contributions!
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature - Make your changes and add tests where appropriate
- Commit and push:
git commit -m "feat: short description" git push origin feature/your-feature - Open a pull request against the main branch and describe your changes
Please follow the existing code style and include tests for new behavior when possible.
This project is licensed under the MIT License. See LICENSE for details.
- Issues: https://github.com/TrybikDevelopers/Trybik-backend/issues
- Organization: https://github.com/TrybikDevelopers
- Email: support@trybik.app
If you have questions about API usage or want to report bugs, please open an issue with reproduction steps and relevant logs.
- Frontend / mobile apps — check the organization repositories for matching frontend projects.