---
name: "DevOps ↔ ClickUp Sync"
client: Oliver Internal
status: active
tech: [Python, FastAPI, SQLAlchemy, SQLite, httpx, Tailwind, Docker]
local_path: /Users/ai_leed/Documents/Projects/Oliver/DevOps_Click_UP_sync
deploy: docker compose up --build
url: http://localhost:8080
tags: [oliver, devops, ado, clickup, sync, webhook]
created: 2026-04-14
---

## Overview
Full two-way sync between Azure DevOps (ADO) and ClickUp. Webhook-driven, real-time. Tailwind CSS monitoring dashboard.

## Tech Stack
- **Backend:** Python + FastAPI + SQLAlchemy async
- **Database:** SQLite
- **HTTP:** httpx (async)
- **Frontend:** Vanilla JS + Tailwind CDN
- **Infrastructure:** Docker + docker-compose

## Deployment
- **Run:** `docker compose up --build`
- **Entry:** `src/main.py` (uvicorn, port 8080)
- **Config:** Copy `.env.example` → `.env`
- **Local path:** `/Users/ai_leed/Documents/Projects/Oliver/DevOps_Click_UP_sync`

## Key Files
| File | Purpose |
|------|---------|
| `src/sync/engine.py` | Core sync logic |
| `src/sync/dedup.py` | Loop prevention |
| `src/sync/mapper.py` | ADO ↔ ClickUp field mapping |

## Sessions
### 2026-04-14 – Project catalogued
**Done:** Added to Obsidian second brain.

---
## Change Log
| Date | Requested | Changed | Files |
|------|-----------|---------|-------|
| 2026-04-14 | Initial setup | Note created | — |
