Skip to main content

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

  1. Clone the repository
  2. Install dependencies (npm install, pip install)
  3. Configure environment (.env.local setup)
  4. Start development servers
  5. 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

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

  1. Frontend: npm run dev (http://localhost:3000)
  2. Backend: uvicorn main:app --reload (http://localhost:8000)
  3. Database: Supabase local or cloud instance
  4. 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-reference section
  • Architecture Docs - /architecture section
  • Database Schema - /database section

Support

  • Team Chat - Slack workspace
  • Issue Tracker - GitHub Issues
  • Code Reviews - Pull request reviews
  • Pair Programming - Team collaboration

Contributing

Development Process

  1. Create feature branch
  2. Implement changes with tests
  3. Run linting and type checking
  4. Submit pull request
  5. Code review and iteration
  6. Merge to main
  7. Automated deployment

Code Standards

  • Follow TypeScript/Python style guides
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation
  • Review security implications
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.