Enterprise-Grade, Scalable Accounting Software for India
- Overview
- Features
- Architecture
- Technology Stack
- Project Structure
- Getting Started
- Development Roadmap
- Contributing
MitraBooks (เคฎเคฟเคคเฅเคฐ = Friend) is your trusted accounting companion - a modern, scalable double-entry accounting system built specifically for Indian businesses.
โ
Enterprise-Grade Architecture - Built to scale from 1 to 1,000,000 users
โ
Multi-Tenant - Support multiple companies in single installation
โ
GST Compliant - Built-in GST support for Indian businesses
โ
Real-Time - Instant updates using async architecture
โ
Offline Capable - Desktop app works without internet
โ
Modern UI - Beautiful, intuitive React interface
- โ Chart of Accounts with hierarchical structure
- โ Double-entry bookkeeping engine
- โ Journal Entries
- โ Multi-company support (Multi-tenant)
- โ Audit trail (MongoDB)
- โ Role-based access control
- ๐ Customer management
- ๐ Invoice creation & management
- ๐ Payment tracking
- ๐ Accounts Receivable aging
- ๐ GST invoicing
- ๐ Vendor management
- ๐ Bill entry
- ๐ Expense tracking
- ๐ Accounts Payable
- ๐ Payment processing
- ๐ Product/Item master
- ๐ Stock tracking (FIFO/LIFO/Weighted Average)
- ๐ Purchase orders
- ๐ Stock adjustments
- ๐ Low stock alerts
- ๐ Trial Balance
- ๐ Balance Sheet
- ๐ Profit & Loss Statement
- ๐ Cash Flow Statement
- ๐ GST Reports (GSTR-1, GSTR-3B)
- ๐ Custom reports
- ๐ Multi-currency support
- ๐ Banking integration
- ๐ Automated reconciliation
- ๐ Budget management
- ๐ Fixed asset management
- ๐ Payroll integration
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Client Layer โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ Web App โ โ Desktop App โ โ Mobile App โ โ
โ โ (React) โ โ (Electron) โ โ (React Nativeโ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ API Gateway (Nginx) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Application Layer โ
โ FastAPI (Python) โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ Auth โ โ Accounting โ โ Reports โ โ
โ โ Service โ โ Service โ โ Service โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Cache Layer (Redis) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Data Layer โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ PostgreSQL โ โ MongoDB โ โ MinIO/S3 โ โ
โ โ (Transactionsโ โ (Audit Logs) โ โ (Documents) โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Background Jobs (Celery) โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ Reports โ โ Emails โ โ Backups โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| Component | Scalability Strategy |
|---|---|
| FastAPI | Async/await, handles 10K+ concurrent requests |
| PostgreSQL | ACID compliance, handles millions of transactions |
| Redis | In-memory caching, sub-millisecond response |
| MongoDB | Document storage, horizontal scaling |
| Celery | Distributed task queue for async operations |
| Docker | Container orchestration, easy deployment |
| Kubernetes | Auto-scaling based on load |
- FastAPI 0.109+ - Modern, fast web framework
- SQLAlchemy 2.0+ - ORM with async support
- PostgreSQL 15+ - Primary database
- MongoDB 6.0+ - Audit logs & documents
- Redis 7.0+ - Caching & sessions
- Celery 5.3+ - Background tasks
- Alembic - Database migrations
- React 18+ - UI library
- TypeScript - Type safety
- Material-UI - Component library
- Redux Toolkit - State management
- Recharts - Data visualization
- Axios - HTTP client
- Electron - Cross-platform desktop app
- Docker - Containerization
- Docker Compose - Local development
- Kubernetes - Production orchestration
- Nginx - Reverse proxy
- Prometheus - Monitoring
- Grafana - Dashboards
mitrabooks/
โโโ backend/ # FastAPI backend
โ โโโ app/
โ โ โโโ api/ # API endpoints
โ โ โ โโโ v1/
โ โ โ โโโ endpoints/ # Route handlers
โ โ โ โโโ dependencies/ # Dependencies
โ โ โโโ core/ # Core configuration
โ โ โ โโโ config.py # Settings
โ โ โ โโโ security.py # Auth & security
โ โ โ โโโ logging.py # Logging setup
โ โ โโโ models/ # SQLAlchemy models
โ โ โ โโโ base.py # Base model
โ โ โ โโโ company.py # Company (multi-tenant)
โ โ โ โโโ account.py # Chart of Accounts
โ โ โ โโโ transaction.py # Journal entries
โ โ โ โโโ user.py # User management
โ โ โโโ schemas/ # Pydantic schemas
โ โ โโโ services/ # Business logic
โ โ โโโ db/ # Database configuration
โ โ โ โโโ session.py # PostgreSQL
โ โ โ โโโ mongodb.py # MongoDB
โ โ โ โโโ redis.py # Redis
โ โ โโโ utils/ # Utility functions
โ โ โโโ middleware/ # Custom middleware
โ โโโ alembic/ # Database migrations
โ โโโ tests/ # Tests
โ โโโ requirements.txt # Python dependencies
โ
โโโ frontend/ # React frontend
โ โโโ src/
โ โ โโโ components/ # React components
โ โ โ โโโ common/ # Shared components
โ โ โ โโโ accounting/ # Accounting components
โ โ โ โโโ sales/ # Sales components
โ โ โ โโโ reports/ # Report components
โ โ โโโ pages/ # Page components
โ โ โโโ services/ # API services
โ โ โโโ store/ # Redux store
โ โ โโโ hooks/ # Custom hooks
โ โ โโโ utils/ # Utilities
โ โ โโโ types/ # TypeScript types
โ โโโ public/ # Static files
โ โโโ package.json # NPM dependencies
โ
โโโ desktop/ # Electron desktop app
โ โโโ electron/ # Electron configuration
โ
โโโ docker/ # Docker configuration
โ โโโ nginx/ # Nginx config
โ โโโ postgres/ # PostgreSQL init scripts
โ
โโโ k8s/ # Kubernetes manifests
โ
โโโ docs/ # Documentation
โ โโโ api/ # API documentation
โ โโโ user-guide/ # User guides
โ โโโ developer-guide/ # Developer docs
โ
โโโ scripts/ # Utility scripts
โ
โโโ docker-compose.yml # Docker Compose config
- Python 3.11+
- Node.js 18+
- Docker & Docker Compose
- PostgreSQL 15+
- MongoDB 6.0+
- Redis 7.0+
# Clone the repository
git clone https://github.com/yourusername/mitrabooks.git
cd mitrabooks
# Copy environment file
cp backend/.env.example backend/.env
# Edit .env with your settings
nano backend/.env
# Start all services with Docker Compose
docker-compose up -d
# Access the application
# Web App: http://localhost:3000
# API Docs: http://localhost:8000/docs# Navigate to backend
cd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Copy environment file
cp .env.example .env
# Edit .env with your database credentials
nano .env
# Run database migrations
alembic upgrade head
# Start development server
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000# Navigate to frontend
cd frontend
# Install dependencies
npm install
# Start development server
npm run dev# Create default chart of accounts
python scripts/init_chart_of_accounts.py
# Create admin user
python scripts/create_admin.py- Project structure setup
- Core configuration (settings, database, cache)
- Base models (Company, Account)
- Multi-tenant architecture
- Transaction models (Journal Entry, Vouchers)
- User authentication & authorization
- Basic API endpoints (CRUD operations)
- Frontend setup with React
- Basic UI components
- Sales module (Customers, Invoices)
- Purchase module (Vendors, Bills)
- Basic reports (Trial Balance, P&L, Balance Sheet)
- Desktop app with Electron
- Inventory management
- GST compliance features
- Advanced reports & analytics
- Multi-currency support
- Mobile app (React Native)
- API Documentation: Auto-generated at
/docs(Swagger UI) - User Guide: See
docs/user-guide/ - Developer Guide: See
docs/developer-guide/ - Architecture: See
docs/architecture.md
We welcome contributions! Please see CONTRIBUTING.md for details.
This project is licensed under the MIT License - see LICENSE file for details.
VittaWorks Technologies
- Building financial solutions for India ๐ฎ๐ณ
- Email: support@mitrabooks.com
- Documentation: https://docs.mitrabooks.com
- GitHub Issues: https://github.com/yourusername/mitrabooks/issues
Built with โค๏ธ for Indian businesses
MitraBooks - Your trusted accounting companion