Skip to content

A multi-tenant issue, sprint, and knowledge management platform built with Java SpringBoot and React supporting real-time collaboration, RBAC, and workspace-level workflows.

License

Notifications You must be signed in to change notification settings

Sumit063/sprint-desk-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SprintDesk

SprintDesk

SprintDesk is a multi-tenant issue tracker + knowledge base focused on crisp, editor-grade UI and team workflows. The repo is built in phased commits, keeping each stage runnable.

What it does

  • Workspaces with role-based access (owner/admin/member/viewer)
  • Issues with comments, assignees, priorities, and realtime updates
  • Knowledge base articles with markdown preview and linked issues
  • Notifications for assignments and mentions
  • Auth with JWT access + refresh rotation, Google sign-in, email OTP, and demo mode

Tech stack

  • Frontend: React + TypeScript (Vite), Tailwind CSS, Radix UI, Lucide icons
  • Backend: Java 17 + Spring Boot (Web, Validation, Security)
  • Database: PostgreSQL
  • Realtime: WebSockets (STOMP)

Quick Start (Docker)

docker compose up --build

Local Dev (No Docker)

cd backend
./mvnw spring-boot:run
cd frontend
npm install
npm run dev

Environment

  • backend/.env.example
  • frontend/.env.example

Google login requires:

  • Backend: GOOGLE_CLIENT_ID
  • Frontend: VITE_GOOGLE_CLIENT_ID

OTP login (local/dev):

  • Set OTP_RETURN_CODE=true to return the OTP in the response for testing.

Demo Accounts (local)

Use these credentials after running the backend with the local profile:

  • Owner: demo_owner@demo.com / Demo@1234
  • Member: demo_member@demo.com / Demo@1234

You can reset demo data with:

curl -X POST http://localhost:8080/api/demo/reset

shadcn/ui Setup

The frontend is pre-configured for shadcn/ui. To add components, run:

cd frontend
npx shadcn@latest add button card dialog sheet table tabs badge dropdown-menu input textarea separator skeleton

This uses the components.json already included in the repo.

About

A multi-tenant issue, sprint, and knowledge management platform built with Java SpringBoot and React supporting real-time collaboration, RBAC, and workspace-level workflows.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages