A comprehensive platform for nonprofit organizations to manage their financial ledger and generate IRS Form 990 tax returns, with integrated monitoring and analytics.
Note: This project is based on the original Tchaas Ledger Figma design and has been enhanced with a full-stack implementation including backend API and monitoring.
This project combines:
- Frontend: Modern React/TypeScript UI for ledger management and Form 990 completion
- Backend: Python Flask API with comprehensive monitoring via Prometheus and GCP Cloud Monitoring
- Database: PostgreSQL for persistent data storage
- Monitoring: Production-grade observability with metrics, dashboards, and alerts
tchaas-ledger-990/
βββ frontend/ # React/TypeScript application
βββ backend/ # Flask API with monitoring
βββ docs/ # Documentation
βββ scripts/ # Utility scripts
βββ monitoring-package/# Original monitoring package files
- Node.js 18+ and npm
- Python 3.11+
- PostgreSQL 14+
- Google Cloud SDK (for deployment)
cd frontend
npm install
npm run dev
# App runs at http://localhost:5173cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
# Set up database
createdb tchaas_ledger
export DATABASE_URL="postgresql://localhost/tchaas_ledger"
export GCP_PROJECT_ID="tchaas-ledger"
# Run the app
python run.py
# API runs at http://localhost:5000- Get Started Guide - Quick start for new developers
- Setup Complete - Initial setup checklist
- Final Deployment Steps - Deploy to production
- Cloud SQL Setup - PostgreSQL database setup
- GitHub Secrets Setup - CI/CD secrets configuration
- GCP Permissions Fix - Fix IAM permissions
- Project Status - Current status and roadmap
- File Inventory - Complete file listing
- scripts/run-migrations-manually.sh - Run database migrations
- scripts/fix-gcp-permissions.sh - Grant GCP IAM permissions
- β Transaction ledger management with debit/credit tracking
- β Form 990 data entry and management
- β Category-based expense/revenue tracking
- β Bulk transaction recategorization
- β Smart category suggestions
- β User authentication and profiles
- π Prometheus metrics for all HTTP requests
- π Custom business metrics (transactions, Form 990 operations)
- βοΈ Google Cloud Monitoring integration
- π Grafana-ready dashboards
- π¨ Alerting capabilities
- π CSV import/export
- π PDF generation for Form 990
- π§ Email notifications
- π Multi-user organizations
- π± Mobile responsive design
- π§ͺ Comprehensive test coverage
- React 18 + TypeScript
- Vite (build tool)
- React Router (navigation)
- Radix UI (component library)
- Tailwind CSS (styling)
- Recharts (data visualization)
- Sonner (toast notifications)
- Python 3.11+
- Flask (web framework)
- SQLAlchemy (ORM)
- PostgreSQL (database)
- Prometheus Client (metrics)
- Google Cloud Monitoring SDK
- Alembic (database migrations)
Access monitoring endpoints:
- Prometheus Metrics: http://localhost:5000/metrics
- Health Check: http://localhost:5000/health
Key metrics tracked:
- HTTP request rates and latencies
- Transaction creation/updates
- Form 990 generation success/failure
- Database query performance
- Active user sessions
# Frontend tests
cd frontend
npm test
# Backend tests
cd backend
pytestUse the provided scripts in scripts/ directory:
./scripts/setup_dev_env.sh./scripts/deploy.shSee deployment documentation for details.
-
Frontend Development
- Make changes in
frontend/src/ - Test locally with
npm run dev - Build for production with
npm run build
- Make changes in
-
Backend Development
- Make changes in
backend/app/ - Test locally with
python run.py - Create migrations with
flask db migrate - Apply migrations with
flask db upgrade
- Make changes in
-
Adding Monitoring
- Import tracking functions from
app.monitoring - Add metric tracking to your code
- Test metrics at
/metricsendpoint
- Import tracking functions from
This project uses Cursor AI for development assistance. To get started:
- Open the project in Cursor
- Reference
@docs/monitoring/01_CURSOR_HANDOFF_START_HERE.mdfor full context - Follow the development workflow above
[Your License Here]
Tchaas Alexander-Wright
- Original UI design from Figma
- Monitoring package integration
- Form 990 category definitions based on IRS specifications
Status: Active Development Last Updated: 2025-12-09 Version: 0.1.0