ATStatus
ATStatus WikiLoading documentation...

Project Structure

Overview of ATStatus file and folder structure

Overview of the ATStatus application's file and folder structure.

Directory Overview

atstatus/
├── app/                      # Next.js App Router
│   ├── admin/               # Admin panel pages
│   ├── api/                 # API routes
│   │   ├── admin/           # Admin API endpoints
│   │   ├── auth/            # Authentication endpoints
│   │   ├── components/      # Component management
│   │   ├── incidents/       # Incident management
│   │   ├── maintenance/     # Maintenance windows
│   │   ├── monitor/         # Uptime monitoring
│   │   ├── settings/        # Settings management
│   │   ├── statuspages/     # Status page management
│   │   ├── subscribers/     # Subscriber management
│   │   └── v1/              # Public API v1
│   ├── status/              # Public status pages
│   └── history/             # Incident history
├── components/              # React components
│   ├── admin/               # Admin-specific components
│   └── ui/                  # Reusable UI components (Radix)
├── lib/                     # Utility functions
├── prisma/                  # Database schema
│   └── schema.prisma        # Prisma schema file
├── scripts/                 # Utility scripts
│   └── monitor-daemon.js    # Background monitoring
├── public/                  # Static assets
└── types/                   # TypeScript types

Key Files

Configuration

FilePurpose
.envEnvironment variables
next.config.jsNext.js configuration
tailwind.config.tsTailwind CSS theme
prisma/schema.prismaDatabase schema

Core Logic

FilePurpose
lib/prisma.tsPrisma client singleton
lib/rbac.tsPermission checking
lib/auth.tsSession management
lib/monitor.tsUptime monitoring logic

App Router Structure

The app uses Next.js 14 App Router conventions:

FilePurpose
page.tsxPage component (route)
layout.tsxShared layout wrapper
loading.tsxLoading UI state
error.tsxError boundary
route.tsAPI endpoint
Tip: Routes are defined by the folder structure. For example, app/admin/settings/page.tsxcreates the /admin/settings route.

Important Directories

app/

All pages and API routes. This is the Next.js App Router structure.

components/

Reusable React components. UI components are built on Radix primitives.

lib/

Shared utilities, database helpers, and business logic.

prisma/

Database schema and migrations. The source of truth for data structure.