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
- Create a
.mdfile in the appropriatedocs/subdirectory - Add frontmatter with
titleandsidebar_position - Write content in standard Markdown (GFM supported)
- 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
- Read the Product Overview to understand what we are building
- Review the System Architecture for technical details
- Check the Implementation Plan for current development status