CatalyzeUpDocs

Getting Started

Getting Started

This guide covers how to set up the CatalyzeUp development environment and start contributing to the platform.

Prerequisites

  • Node.js 20+
  • Python 3.11+
  • Docker and Docker Compose
  • Git
  • Azure CLI (for deployment)

Repository Structure

The CatalyzeUp workspace is organized as a meta-repository:

catalyzeup-meta/                    # Workspace orchestration
├── impact-pulse/                   # Main product (backend + frontend)
│   ├── backend/                    # FastAPI backend
│   ├── frontend/                   # React + Vite frontend
│   ├── tests-e2e/                  # End-to-end tests (Playwright)
│   └── specs/                      # Product & technical specifications
├── catalyzeup-docs/                # This documentation site (Next.js)
├── catalyzeup-devops/              # Infrastructure & Terraform
└── catalyzeup-meta/                # Workspace config

Setting Up Impact Pulse

Backend

cd impact-pulse/backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Start with in-memory database (development)
USE_INMEMORY_DB=true uvicorn app.main:app --reload --port 8000

Frontend

cd impact-pulse/frontend
npm install
npm run dev

The frontend runs on port 6291 by default.

Running Tests

# Backend unit tests
cd impact-pulse/backend
pytest tests/ -n auto

# Frontend tests
cd impact-pulse/frontend
npm test

# E2E tests
cd impact-pulse/tests-e2e
npx playwright test

Documentation Site

This documentation site is built with Next.js 16 and renders markdown files from the docs/ directory.

cd catalyzeup-docs
npm install
npm run dev

Adding Documentation

  1. Create a .md file in the appropriate docs/ subdirectory
  2. Add frontmatter with title and sidebar_position
  3. Write content in standard Markdown (GFM supported)
  4. The sidebar auto-generates from the folder structure

Example frontmatter:

---
title: My New Doc
sidebar_position: 5
---

Environment Configuration

Development Ports

Service Port URL
Backend API 8000 http://localhost:8000
Frontend 6291 http://localhost:6291
Docs Site 3000 http://localhost:3000
MongoDB 27017 mongodb://localhost:27017
Redis 6379 redis://localhost:6379

Key Environment Variables

# Backend
MONGODB_URL=mongodb://localhost:27017
MONGODB_DATABASE=impactpulse
USE_INMEMORY_DB=true
SECRET_KEY=your-secret-key
FRONTEND_URL=http://localhost:6291

# Frontend
VITE_API_URL=http://localhost:8000/api/v1

Next Steps