Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Incident Tracker

A modern, full-stack incident management application built with NestJS, React, and Prisma. This project allows users to track, manage, and prioritize technical or operational incidents.

🚀 Features

  • Incident Management: Create, view, update, and delete incidents.
  • Validation: Strict input validation using class-validator and zod.
  • Type Safety: End-to-end type safety with TypeScript and Prisma.
  • API Documentation: Interactive Swagger UI for backend testing.
  • Modern UI: Built with React 19, Tailwind CSS 4, and React Query 5.
  • Database: PostgreSQL integration with Prisma 7.

🏗 Architecture

The project is structured as a monorepo-style setup:

  • /backend: NestJS application (REST API).
  • /frontend: React + Vite application.
  • docker-compose.yml: Database orchestration.

🛠 Tech Stack

Backend

  • Framework: NestJS
  • ORM: Prisma 7
  • Validation: class-validator, class-transformer
  • Documentation: Swagger/OpenAPI

Frontend

🏁 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Docker & Docker Compose

1. Database Setup

Start the PostgreSQL database using Docker Compose:

docker-compose up -d

2. Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Install dependencies:
    npm install
  3. Configure environment variables (Create a .env file):
    DATABASE_URL="postgresql://user_admin:password123@localhost:5432/incident_tracker?schema=public"
    JWT_SECRET="change-me-to-a-long-random-value"
  4. Run Prisma migrations and generate client:
    npx prisma migrate dev
    npx prisma generate
  5. Start the development server:
    npm run start:dev
    API will be available at: http://localhost:3000 Swagger UI: http://localhost:3000/api

3. Frontend Setup

  1. Navigate to the frontend directory:
    cd frontend
  2. Install dependencies:
    npm install
  3. Start the development server:
    npm run dev
    Frontend will be available at: http://localhost:5173

📂 Project Structure

.
├── backend                 # NestJS Source
│   ├── prisma              # Database schema & migrations
│   ├── src                 # Application logic
│   └── generated           # Auto-generated Prisma client
├── frontend                # React Source
│   ├── src                 # UI Components, Hooks, Stores
│   └── public              # Static assets
└── docker-compose.yml      # Infrastructure

About

Modern Incident Tracker | NestJS + Prisma 7 (PostgreSQL) backend with React 19 + Tailwind 4 frontend. Built for performance, scalability, and type safety.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages