Skip to content

Tchaas/Bingo_ledger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

57 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Tchaas Ledger 990 - Nonprofit Financial Management Platform

Backend CI Frontend CI Deploy

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.

🎯 Project Overview

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

πŸ“ Project Structure

tchaas-ledger-990/
β”œβ”€β”€ frontend/          # React/TypeScript application
β”œβ”€β”€ backend/           # Flask API with monitoring
β”œβ”€β”€ docs/              # Documentation
β”œβ”€β”€ scripts/           # Utility scripts
└── monitoring-package/# Original monitoring package files

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm
  • Python 3.11+
  • PostgreSQL 14+
  • Google Cloud SDK (for deployment)

Frontend Setup

cd frontend
npm install
npm run dev
# App runs at http://localhost:5173

Backend Setup

cd 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

πŸ“š Documentation

Getting Started

Deployment

Project Info

Scripts

✨ Features

Current Features

  • βœ… 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

Monitoring Features

  • πŸ“Š Prometheus metrics for all HTTP requests
  • πŸ“ˆ Custom business metrics (transactions, Form 990 operations)
  • ☁️ Google Cloud Monitoring integration
  • πŸ“‰ Grafana-ready dashboards
  • 🚨 Alerting capabilities

Planned Features

  • πŸ”„ CSV import/export
  • πŸ“„ PDF generation for Form 990
  • πŸ“§ Email notifications
  • πŸ” Multi-user organizations
  • πŸ“± Mobile responsive design
  • πŸ§ͺ Comprehensive test coverage

πŸ› οΈ Technology Stack

Frontend

  • React 18 + TypeScript
  • Vite (build tool)
  • React Router (navigation)
  • Radix UI (component library)
  • Tailwind CSS (styling)
  • Recharts (data visualization)
  • Sonner (toast notifications)

Backend

  • Python 3.11+
  • Flask (web framework)
  • SQLAlchemy (ORM)
  • PostgreSQL (database)
  • Prometheus Client (metrics)
  • Google Cloud Monitoring SDK
  • Alembic (database migrations)

πŸ“Š Metrics & Monitoring

Access monitoring endpoints:

Key metrics tracked:

  • HTTP request rates and latencies
  • Transaction creation/updates
  • Form 990 generation success/failure
  • Database query performance
  • Active user sessions

πŸ§ͺ Testing

# Frontend tests
cd frontend
npm test

# Backend tests
cd backend
pytest

πŸš€ Deployment

Local Development

Use the provided scripts in scripts/ directory:

./scripts/setup_dev_env.sh

Production (Google Cloud Run)

./scripts/deploy.sh

See deployment documentation for details.

πŸ“ Development Workflow

  1. Frontend Development

    • Make changes in frontend/src/
    • Test locally with npm run dev
    • Build for production with npm run build
  2. 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
  3. Adding Monitoring

    • Import tracking functions from app.monitoring
    • Add metric tracking to your code
    • Test metrics at /metrics endpoint

🀝 Contributing

This project uses Cursor AI for development assistance. To get started:

  1. Open the project in Cursor
  2. Reference @docs/monitoring/01_CURSOR_HANDOFF_START_HERE.md for full context
  3. Follow the development workflow above

πŸ“„ License

[Your License Here]

πŸ‘€ Author

Tchaas Alexander-Wright

πŸ™ Acknowledgments

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Generated from figma/repo-template