A modern, real-time IT operations platform built with Next.js, Supabase, and AI-powered insights.
- π Incident Management - Track, prioritize, and resolve incidents with full lifecycle management
- π Problem Management - Root cause analysis, workarounds, and permanent solutions
- π Change Management - Approval workflows, scheduling, and rollback planning
- ποΈ Infrastructure Mapping - Visual network topology with drag-and-drop interface
- π¬ Real-time Comments - WebSocket-powered live collaboration
- π₯ Mentions & Notifications - @mention team members, instant notifications
- π File Attachments - Attach files to incidents, problems, and changes
- π Smart Notifications - Context-aware alerts for assignments and updates
- π€ Risk Analysis - AI-powered component risk scoring
- π Impact Assessment - Automatic dependency analysis
- π‘ Insights - Intelligent recommendations for incident resolution
- π― Failure Prediction - Proactive identification of potential issues
- π PagerDuty - Automatic incident creation from PagerDuty alerts
- π Grafana - Webhook integration for monitoring alerts
- π REST API - Full API for custom integrations
- π API Tokens - Secure programmatic access
- Node.js 20+
- npm or yarn
- Supabase account (free tier works)
- OpenAI API key (optional, for AI features)
- Clone the repository
git clone https://github.com/antopshq/antops.git
cd antops/antops-app- Install dependencies
npm install- Set up Supabase
- Create a new project at supabase.com
- Run the complete database schema:
- Copy contents of
complete-schema.sql - Paste in Supabase SQL Editor
- Click "Run" to create all tables, functions, and policies
- This includes all 28 tables, RLS policies, triggers, and views
- Copy contents of
- Configure environment variables
cp .env.example .env.localEdit .env.local:
# Supabase
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
# OpenAI (optional, for AI features)
OPENAI_API_KEY=sk-your-key
# App URL
NEXT_PUBLIC_APP_URL=http://localhost:3000- Run the development server
npm run dev- Open the app
Visit http://localhost:3000
- Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
- Backend: Next.js API Routes, Node.js custom server (WebSocket)
- Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth
- Storage: Supabase Storage
- AI: OpenAI GPT-4o-mini
- Real-time: Socket.io
- UI Components: Radix UI, shadcn/ui
- Rich Text: Tiptap
- Diagrams: ReactFlow
antops-app/
βββ src/
β βββ app/ # Next.js App Router pages
β β βββ api/ # API routes
β β βββ incidents/ # Incident management pages
β β βββ problems/ # Problem management pages
β β βββ changes/ # Change management pages
β β βββ infrastructure/ # Infrastructure mapping
β βββ components/ # React components
β β βββ ui/ # Base UI components
β β βββ incidents/ # Incident-specific components
β β βββ problems/ # Problem-specific components
β β βββ changes/ # Change-specific components
β βββ lib/ # Utility functions
β βββ supabase/ # Supabase client
β βββ store.ts # Data access layer
β βββ openai-client.ts # AI integration
β βββ websocket-server.ts # Real-time server
βββ server.js # Custom Node.js server (WebSocket)
βββ public/ # Static assets
βββ package.json # Dependencies
| Variable | Required | Description |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL |
Yes | Your Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Yes | Supabase anonymous key |
SUPABASE_SERVICE_ROLE_KEY |
Yes | Supabase service role key (server-side only) |
OPENAI_API_KEY |
No | OpenAI API key for AI features |
PAGERDUTY_API_KEY |
No | PagerDuty integration key |
The complete database schema is in complete-schema.sql (single source of truth).
What's included:
- β All 28 tables (incidents, problems, changes, infrastructure, integrations, etc.)
- β All Row Level Security (RLS) policies
- β All triggers and functions
- β All indexes and constraints
- β All views and sequences
- β Complete with sample data structure
To set up:
- Copy the entire contents of
complete-schema.sql - Paste into Supabase SQL Editor
- Run once - that's it!
No need for incremental migrations - everything is included.
- API Documentation: See
/docs/API.md(coming soon) - Deployment Guide: See
/docs/DEPLOYMENT.md(coming soon) - Contributing: See CONTRIBUTING.md
We welcome contributions! Please see CONTRIBUTING.md for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
See SECURITY.md for security policy and reporting vulnerabilities.
Important: Never commit sensitive data:
- Don't commit
.env.localfiles - Don't include API keys in code
- Use environment variables for secrets
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: samer.naffah@antopshq.com
Made with β€οΈ by Samex ANTOPS is an openβsource ITβops platform founded by Samer Naffah.