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
| File | Purpose |
|---|---|
| .env | Environment variables |
| next.config.js | Next.js configuration |
| tailwind.config.ts | Tailwind CSS theme |
| prisma/schema.prisma | Database schema |
Core Logic
| File | Purpose |
|---|---|
| lib/prisma.ts | Prisma client singleton |
| lib/rbac.ts | Permission checking |
| lib/auth.ts | Session management |
| lib/monitor.ts | Uptime monitoring logic |
App Router Structure
The app uses Next.js 14 App Router conventions:
| File | Purpose |
|---|---|
| page.tsx | Page component (route) |
| layout.tsx | Shared layout wrapper |
| loading.tsx | Loading UI state |
| error.tsx | Error boundary |
| route.ts | API 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.
