Developer Manual
Complete guide for developers and DevOps engineers to set up, deploy, and maintain Jinbocho.
Sections
| # |
Section |
What you'll find |
| 1 |
Prerequisites |
System requirements: Docker, Python 3.12, Node.js 18, API keys |
| 2 |
Local Development |
Docker Compose setup, port mapping, env files, verification |
| 3 |
Backend Services |
auth, catalog, gateway, ai (optional) — endpoints, env vars, tests |
| 4 |
Frontend |
React setup, TanStack Query patterns, critical gotchas |
| 5 |
Database & Migrations |
Alembic, PostgreSQL schema, local reset |
| 6 |
CI/CD |
GitHub Actions workflows for all services |
| 7 |
Production Deployment |
Step-by-step Render + Neon deployment |
| 8 |
Monitoring & Logging |
Render logs, health checks, Neon console |
| 9 |
Troubleshooting |
Common issues and fixes |
| 10 |
Architecture |
System diagram, bounded contexts, data flow, security |
Quick Paths
I want to run Jinbocho locally
- Prerequisites — install Docker, Python, Node.js
- Local Development — create a
docker-compose.yml and start all services
I want to deploy to production
- Prerequisites — create Neon and Render accounts
- Local Development — verify it works locally first
- Production Deployment — step-by-step Render + Neon guide
I need to understand the codebase
- Architecture — system diagram, bounded contexts, design decisions
- Backend Services — service-by-service breakdown
- Frontend — React architecture and critical gotchas
Something is broken
- Troubleshooting — grouped by area (database, CORS, JWT, cold starts)
- Monitoring & Logging — how to read Render logs
Technology Stack
| Layer |
Technology |
| Backend |
Python 3.12, FastAPI, SQLAlchemy (async) |
| Database |
PostgreSQL 16 (Neon in production) |
| Migrations |
Alembic |
| Frontend |
React 18, TypeScript strict, Vite, TanStack Query, Zustand |
| HTTP client |
ky |
| Deployment |
Docker Compose (dev), Render + Neon (prod) |
| CI/CD |
GitHub Actions |
| Code quality |
mypy (strict), ruff, pytest, vitest |
Before Every Commit
# Backend (run in each changed service directory)
ruff check app tests
python -m mypy app --strict
pytest tests/ -v
# Frontend
cd jinbocho-fe
npm run typecheck && npm run test