Skip to content

kir-dev/sprint-review-app-v2

Repository files navigation

Sprint Review App

A monorepo project with NestJS backend and React frontend for managing projects, work periods, and logs.

📁 Project Structure

sprint-review-app-v2/
├── apps/
│   ├── backend/           # NestJS backend
│   │   ├── src/
│   │   │   ├── auth/      # AuthSCH + JWT authentication
│   │   │   ├── users/     # User management
│   │   │   ├── projects/  # Project management
│   │   │   ├── work-periods/ # Work period tracking
│   │   │   └── logs/      # Work log system
│   │   ├── prisma/        # Database schema & migrations
│   │   └── test/          # Backend tests
│   └── frontend/          # React + Vite frontend
│       ├── src/
│       │   ├── pages/     # React pages
│       │   ├── components/ # Reusable components
│       │   └── context/   # React contexts
│       └── public/
├── .env                   # Environment variables
└── package.json           # Root workspace config

Features

  • 🔐 AuthSCH Authentication - BME SSO integration
  • 👥 User Management - CRUD operations for users
  • 📁 Project Management - Track projects and team members
  • ⏱️ Work Periods - Manage sprint periods
  • 📝 Logging System - Track work logs with statistics
  • 📚 Swagger Documentation - Interactive API docs at /api
  • ⚛️ React Frontend - Modern UI with Tailwind CSS

Getting Started

Prerequisites

  • Node.js 20+
  • Yarn 1.22+
  • PostgreSQL database

Installation

Install all dependencies from the root:

yarn install

Environment Setup

# Copy environment template
cp .env.example .env

# Edit .env with your configuration
# - AUTHSCH_CLIENT_ID and AUTHSCH_CLIENT_SECRET from auth.sch.bme.hu
# - DATABASE_URL for PostgreSQL
# - JWT_SECRET for token signing
# - FRONTEND_URL (default: http://localhost:3000)

Database Setup

# Run migrations
cd apps/backend
yarn prisma migrate dev

# Seed database (optional)
yarn prisma db seed

Development

Run backend and frontend separately:

# Start backend (runs on http://localhost:3001)
yarn start:backend

# Start frontend (runs on http://localhost:3000)
yarn start:frontend

Build

# Build backend
yarn build:backend

# Build frontend
yarn build:frontend

Linting & Formatting

# Check all code
yarn lint

# Fix linting issues
yarn lint:fix

# Format code
yarn format

# Check formatting
yarn format:check

Testing

# Run backend tests
yarn test

# Run e2e tests
yarn test:e2e

│ ├── users/ # User management │ ├── projects/ # Project management │ ├── work-periods/ # Sprint period tracking │ ├── logs/ # Work log system │ └── common/ # Shared middleware └── prisma/ # Database schema and migrations

frontend/ ├── src/ │ ├── pages/ # Login & Dashboard pages │ ├── components/ # Reusable components │ ├── context/ # Auth context │ └── App.tsx # Main app component └── public/ # Static assets


## API Endpoints

Once the servers are running, you can:

- Visit `http://localhost:3000` - React Frontend (Login/Dashboard)
- Visit `http://localhost:3001/api` - Swagger API documentation
- Backend API runs on `http://localhost:3001`

### Authentication Flow

1. User clicks "Login with AuthSCH" → redirects to `/auth/login`
2. AuthSCH authenticates → redirects to `/auth/callback`
3. Backend generates JWT → redirects to `/dashboard.html?jwt=<token>`
4. Frontend stores JWT in localStorage
5. All API requests use `Authorization: Bearer <token>` header

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published