Skip to content
Codewriter90x edited this page Jan 24, 2026 · 2 revisions

Welcome to the OpenCashFlow wiki!

OpenCashFlow Wiki

Welcome to the OpenCashFlow project documentation. This wiki provides comprehensive guidance for developers joining the project.

Table of Contents

Document Description
Architecture High-level architecture, design philosophy, and system overview
Projects Detailed breakdown of App, API, Admin, and Shared projects
Setup Local development environment setup and requirements
Configuration Environment variables, secrets, and configuration management
Database Entity Framework Core, migrations, seeding, and schema
Scripts CLI helper scripts for migrations and maintenance
UI Tabler framework, layouts, views, and frontend architecture
Security Authentication, authorization, secrets management, and best practices
DevelopmentWorkflow Git workflow, branching strategy, PRs, and CI/CD
FAQ Common problems and solutions

Quick Links

Project Overview

OpenCashFlow is a multi-tenant cash flow management SaaS platform built on .NET 9.0. It provides:

  • Payment Tracking: Record income and expenses with categorization
  • Multi-Company Support: Tenant isolation with per-company data
  • Role-Based Access: Granular permissions system
  • Subscription Billing: Stripe integration for recurring payments
  • Real-Time Updates: SignalR for live data synchronization
  • REST API: Versioned API with OpenAPI/Swagger documentation

Tech Stack Summary

Layer Technology
Backend ASP.NET Core 9.0, Entity Framework Core 9.0
Frontend Bootstrap 5, jQuery 3.x, Tabler UI
Database PostgreSQL 16
Authentication JWT tokens with HTTP-only cookies
Payments Stripe (subscriptions and webhooks)
Logging Serilog (file, console, Slack)
Error Tracking Sentry
CI/CD GitHub Actions

Getting Started

  1. Read Setup to configure your local environment
  2. Review Architecture to understand the system design
  3. Check DevelopmentWorkflow for contribution guidelines

For New Developers

Start with these files to understand the codebase:

  1. src/OpenCashFlow.Shared/Data/ApplicationDbContext.cs - Database schema
  2. src/OpenCashFlow.API/Program.cs - API bootstrap and configuration
  3. src/OpenCashFlow.API/Controllers/PaymentController.cs - Example API endpoints
  4. src/OpenCashFlow.Shared/Enums/Permissions.cs - Permission definitions
  5. SECURITY.md - Security implementation details

OpenCashFlow

Preview Status

  • Developer Preview
  • Not production-ready
  • First-run setup included

Clone this wiki locally