Skip to content

Repository files navigation

Office Issue Tracker - Backend

Office Issue Tracker is a backend service for reporting, tracking, and managing office-related issues. Users can also comment and vote on them to surface what matters most. It exposes a REST API and persists data in PostgreSQL and Cloudinary.

You can find the frontend for this project here: https://github.com/daniel-sosna/office-issue-tracker-fe

Prerequisites

  • Java 21
  • Gradle wrapper (./gradlew)
  • Docker & Docker Compose
  • A Google OAuth client ID for authentication
  • A Cloudinary account for media storage

Quick start

To run the backend locally with mock data, follow these steps:

  1. Prepare the environment:

    • Clone the repository and navigate to the project root
    • Copy .env.example to .env and adjust any necessary environment variables
    • Ensure Docker is running on your machine
  2. Start Postgres:

    docker compose up -d

    * To stop it:

    docker compose down
  3. Build & run

    ./gradlew bootRun
  4. Use it:

Mock data (local only)

For details on local mock data setup, see mock-data-setup.md.

Features

  • Users are created on first login via Google OAuth; they start with the USER role.
  • ADMIN access is granted only via direct DB update.
  • Issues move through a simple lifecycle: create, update, change status, delete.
  • The issue list supports filtering, sorting, and pagination.
  • Attachments let you add media files to an issue.
  • Profiles let users view and update their own details as needed.
  • Offices group issues by location so teams can focus on their space.
  • Comment on issues to discuss fixes and progress.
  • Vote on issues to surface what matters most.

Contributors

Built by the we-need-teamname team at Sourcery Academy (Vilnius, 2025)

About

API of a system to report, track, and manage office-related issues. Users can also comment and vote on them to surface what matters most.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages