Developer Documentation
Welcome to the OpsHub Developer Documentation. This section provides everything you need to develop, test, and deploy OpsHub applications and integrations.Getting Started
Prerequisites
- Node.js 18+ for frontend development
- Python 3.13+ for backend development
- Docker for containerized services
- Git for version control
- PostgreSQL 15+ or Supabase account
Quick Start
- Clone the repository
- Install dependencies (
npm install,pip install) - Configure environment (
.env.localsetup) - Start development servers
- Run tests to verify setup
Development Guides
Setup & Configuration
- Developer Guide - Complete setup and development guide
- Setup Instructions - Step-by-step environment setup
- Testing Guide - Testing strategy and tools
- Testing Quick Start - Get started with testing
Integration Development
- Integration Exploration - Integration patterns
- Supabase GraphQL - GraphQL configuration
- Temporal Cloud - Workflow integration
- Redis Configuration - Cache setup
Quick Links
Developer Guide
Complete development guide and best practices
Setup Instructions
Environment setup and configuration
Testing Guide
Testing strategy, tools, and best practices
Integration Guide
Third-party integrations and patterns
Development Stack
Frontend Development
- Framework: Next.js 15.0.3 with App Router
- Language: TypeScript 5.x
- UI Components: React 18.2.0
- Styling: Tailwind CSS 3.4.14
- State Management: Zustand 5.0.8
- Data Fetching: TanStack Query 5.90.2
Backend Development
- API Framework: FastAPI (Python 3.13+)
- Workflow Engine: Temporal 1.13.1
- AI Framework: LangGraph
- ORM: SQLAlchemy
- Testing: pytest
Database Development
- Database: PostgreSQL 15+
- Platform: Supabase
- Migrations: Supabase CLI
- Type Generation: Automated TypeScript types
Development Workflow
Local Development
- Frontend:
npm run dev(http://localhost:3000) - Backend:
uvicorn main:app --reload(http://localhost:8000) - Database: Supabase local or cloud instance
- Temporal: Local Temporal server or Temporal Cloud
Code Quality
- Linting: ESLint for TypeScript, Ruff for Python
- Formatting: Prettier for frontend, Black for backend
- Type Checking: TypeScript strict mode, mypy for Python
- Testing: Jest/Vitest, pytest
Git Workflow
- Feature branches from
main - Pull requests for code review
- CI/CD automated testing and deployment
- Conventional commits for change tracking
Testing
Frontend Testing
- Unit Tests: Vitest for component logic
- Integration Tests: Testing Library
- E2E Tests: Playwright for full workflows
- Visual Regression: Chromatic for UI changes
Backend Testing
- Unit Tests: pytest for business logic
- Integration Tests: FastAPI TestClient
- Workflow Tests: Temporal test framework
- API Tests: Postman collections
Key Development Areas
UI Components
- UI Components Guide - Component library
- Dashboard Widgets - Widget development
- Visual Data Modeling - Data modeling UI
- Workspace Context - Context management
Database Development
- Custom Schema Types - Schema customization
- Custom Types - Type definitions
- Schema Usage Examples - Common patterns
- Database ETL - ETL workflows
- Supabase Formulas - Database functions
- Type Generation - Automated types
- Writeback ETL - Data writeback
Migration Guides
- Migration Guide - General migration process
- Migration Usage - Migration tools
- Typed Supabase Migration - Type-safe migrations
- Teams Migration - Team data migration
- VBA to Python Migration - Legacy code migration
API Development
RESTful APIs
- Authentication and authorization
- Request validation
- Error handling
- Rate limiting
- API versioning
GraphQL
- Schema definition
- Resolver implementation
- Query optimization
- Subscription support
WebSocket
- Real-time updates
- Connection management
- Event streaming
- Error handling
Deployment
Frontend Deployment
- Platform: Vercel
- Build: Next.js production build
- Environment: Production environment variables
- CDN: Global edge network
Backend Deployment
- Platform: Fly.io
- Container: Docker image
- Scaling: Auto-scaling configuration
- Monitoring: Sentry integration
Database Deployment
- Platform: Supabase Cloud
- Migrations: Automated via CI/CD
- Backups: Automated daily backups
- Monitoring: Query performance tracking
Tools & Resources
Development Tools
- VS Code - Recommended IDE
- Docker Desktop - Containerization
- Postman - API testing
- Supabase Studio - Database management
- Temporal Web UI - Workflow monitoring
Documentation Tools
- Mintlify - Documentation platform
- Swagger/OpenAPI - API documentation
- Storybook - Component documentation
- TypeDoc - TypeScript docs
Best Practices
Code Organization
- Feature-based folder structure
- Shared utilities and hooks
- Type definitions in dedicated files
- Test files co-located with code
Performance
- Code splitting and lazy loading
- Image optimization
- Database query optimization
- Caching strategies
Security
- Environment variable management
- Input validation and sanitization
- SQL injection prevention
- XSS protection
- CSRF tokens
Getting Help
Resources
- Internal Documentation - This site
- API Reference -
/api-referencesection - Architecture Docs -
/architecturesection - Database Schema -
/databasesection
Support
- Team Chat - Slack workspace
- Issue Tracker - GitHub Issues
- Code Reviews - Pull request reviews
- Pair Programming - Team collaboration
Contributing
Development Process
- Create feature branch
- Implement changes with tests
- Run linting and type checking
- Submit pull request
- Code review and iteration
- Merge to main
- Automated deployment
Code Standards
- Follow TypeScript/Python style guides
- Write meaningful commit messages
- Add tests for new features
- Update documentation
- Review security implications
Navigation
Use the sidebar to explore:- Developer Setup - Setup, testing, and development guides
- Integration Guides - External system integrations
- Migration Guides - Data and code migrations
- Component Guides - UI component development
- Advanced Topics - Custom schemas, types, and advanced patterns
For architecture details and system design, see the Architecture section.