A TypeScript-based platform for managing AZAV coaching businesses. This monorepo contains multiple applications and packages that work together to provide a comprehensive coaching management solution.
This is a monorepo managed with pnpm workspaces, containing:
- 
apps/web: The main web application built with Next.js- Handles the primary user interface
- Integrates with Daily.co for video functionality
- Includes analytics and real-time features
- Uses AI capabilities through OpenAI integration
 
- 
apps/video: Video generation service- Built with Remotion for programmatic video creation
- Includes support for animations and transitions
- Integrates with AI services for content generation
 
The repository includes several shared packages that are used across applications:
- @octocoach/auth: Authentication utilities
- @octocoach/charts: Charting and visualization components
- @octocoach/daily: Daily.co integration utilities
- @octocoach/db: Database access layer
- @octocoach/i18n: Internationalization utilities
- @octocoach/ui: Shared UI components
- @octocoach/tshelpers: TypeScript utility types and helpers
- @octocoach/typescript-config: Shared TypeScript configuration
- Docker Desktop (Windows/macOS) or Docker Engine (Linux)
- Visual Studio Code
- Dev Containers extension
That's it! All other dependencies (Node.js, pnpm, etc.) are handled within the development container.
The project uses DevContainers for a consistent development environment. The setup includes:
- 
Three main services: - app: Main application container
- db: PostgreSQL database
- db_proxy: WebSocket proxy for database connections
 
- 
Exposed ports: - 3000: Web application
- 5433: Database WebSocket proxy
- 6432: PostgreSQL database
 
- Clone the repository:
git clone https://github.com/octocoach/octocoach.git- Open in VS Code:
code octocoach- When prompted, click "Reopen in Container", or:
- Press F1 or Ctrl/Cmd + Shift + P
- Type "Dev Containers: Reopen in Container"
- Press Enter
 
The container will automatically:
- Set up the development environment
- Install all dependencies
- Configure the database
- Prepare the development servers
To learn more about working with Dev Containers, see the official documentation.
Once the container is ready:
pnpm devThe development container comes pre-configured with:
- Prettier for code formatting
- Docker tools
- SQL Tools with PostgreSQL support
- TypeScript error highlighting
- pnpm dev: Start all applications in development mode
- pnpm build: Build all applications and packages
- pnpm lint: Run linting across all projects
- pnpm format: Format all files using Prettier
- pnpm test: Run tests using Vitest
- Frontend: Next.js, React
- Backend: Node.js
- Database: PostgreSQL
- Video Processing: Remotion
- AI Integration: OpenAI
- Containerization: Docker
- Package Management: pnpm
