Skip to content

Imhotep-Tech/imhotep_finance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

737 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’° Imhotep Finance

Smart Personal Finance Management Platform

Project Status License Django React React Native Expo Docker Django CI/CD codecov

Take control of your finances. Track spending. Achieve your goals.

Features β€’ Quick Start β€’ Documentation β€’ Tech Stack


πŸ“– About

Imhotep Finance is an open-source personal finance management platform built with Django, React, and React Native. It provides both a powerful web application and a native mobile app to help you track transactions, manage budgets, set savings goals, and automate recurring expenses. Perfect for individuals seeking a secure, user-friendly way to monitor spending, analyze patterns, and achieve financial freedomβ€”anytime, anywhere.

"Your finances, simplified. Your goals, achieved."

🏠 Self-Hostable - Deploy Anywhere

Imhotep Finance is designed to be completely self-hostable with no external dependencies or vendor lock-in. You have full control:

  • Deploy anywhere: Your own server, cloud provider (AWS, Azure, GCP), or your infrastructure
  • Complete data ownership: All data stays on your servers - no third-party services required
  • Privacy first: No tracking, no analytics sent to external services
  • Free to use: Use it for free for any purpose (personal or commercial within your organization)
  • Easy setup: One-command Docker deployment or manual installation

See the Setup Guide for detailed deployment instructions.


✨ Features

πŸ’³ Financial Tracking

  • Deposit and withdraw funds
  • Detailed transaction history
  • Smart category suggestions
  • Multi-currency support
  • CSV import/export

πŸ“Š Analytics & Insights

  • Spending pattern analysis
  • Income/expense pie charts
  • Monthly and yearly reports
  • Net worth tracking
  • Financial trends visualization

🎯 Goal Setting

  • Monthly savings targets
  • Wishlist management
  • Progress tracking
  • Goal scoring system
  • Achievement milestones

⚑ Automation

  • Scheduled transactions
  • Recurring bills automation
  • Monthly income automation
  • Smart category detection
  • Automated net worth calculation

πŸ” Security & Privacy

  • JWT authentication
  • Google OAuth integration
  • Encrypted sensitive data
  • Secure API endpoints
  • User data isolation

🎨 Modern UI/UX

  • Dark/Light theme toggle
  • Fully responsive design
  • Interactive charts
  • Accessible components
  • PWA support

πŸ› οΈ Developer Friendly

  • Swagger API documentation
  • Docker one-command setup
  • Comprehensive test suite
  • Modular architecture
  • 100% self-hostable

πŸš€ Quick Start

Web Application

# Clone the repository
git clone https://github.com/Imhotep-Tech/imhotep_finance.git
cd imhotep_finance

# Copy environment file
cp backend/imhotep_finance/.env.example backend/imhotep_finance/.env

# Generate encryption key (required)
python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
# Add the generated key to backend/imhotep_finance/.env as FIELD_ENCRYPTION_KEY

# Start with Docker
docker compose up --build
Service URL
πŸ–₯️ Frontend http://localhost:3000
βš™οΈ Backend API http://localhost:8000
πŸ“š API Docs (Swagger) http://localhost:8000/swagger/
πŸ”§ Developer Portal http://localhost:3000/developer
πŸ‘€ Django Admin http://localhost:8000/admin/

πŸ“± Mobile App

# Navigate to mobile app directory
cd frontend/imhotep_finance_mobile

# Install dependencies
npm install

# Start Expo development server
npx expo start

Run on your device:

  • πŸ“± Expo Go: Scan QR code with Expo Go app (iOS | Android)
  • πŸ€– Android Emulator: Press a in terminal
  • 🍎 iOS Simulator: Press i in terminal (macOS only)
  • 🌐 Web Browser: Press w in terminal

πŸ“˜ For detailed setup instructions, see Setup Guide and Mobile App Guide


πŸ“š Documentation

Comprehensive documentation is available in the .docs/ folder:

Document Description
πŸš€ Setup Guide Prerequisites, Docker & manual installation, initial configuration
πŸ“± Mobile App Guide React Native app setup, development, and deployment
πŸ“˜ API Documentation Swagger/OpenAPI docs, JWT authorization, endpoint reference
βš™οΈ Environment Variables Backend & frontend configuration, production setup
🧩 Folder Structure Project organization and architecture
πŸ§ͺ Testing Guide Running & writing tests, test structure
πŸ‘₯ Contributing How to contribute, code style, PR guidelines
🧱 Development Workflow Development practices, CI/CD, best practices

πŸ—οΈ Tech Stack

Web Frontend Mobile App Backend Database DevOps
React 19 React Native 0.81 Django 5.2 PostgreSQL Docker
Vite Expo 54.x Django REST Framework Docker Compose
Tailwind CSS TypeScript JWT Auth
React Router Expo Router drf-spectacular
Axios Axios

πŸ–ΌοΈ Screenshots

Landing Page

Landing Page

Dashboard

Dashboard with transaction overview

Transactions

Transaction history

Monthly Reports

Monthly Reports

πŸ‘₯ Contributing

We welcome contributions to Imhotep Finance! Here's how you can contribute:

  1. Fork the repository and create your feature branch
  2. Make your changes and test them thoroughly
  3. Commit your changes with clear messages
  4. Push to your branch and open a Pull Request

See Contributing Guide for detailed guidelines.


πŸ§ͺ Testing

Imhotep Finance includes ~240+ tests covering models, views, serializers, and services.

# Run all backend tests
docker exec imhotep_finance-backend-1 python manage.py test

# Run specific app tests
docker exec imhotep_finance-backend-1 python manage.py test accounts

See Testing Guide for comprehensive testing documentation.


πŸ“ Code of Conduct

Please read our Code of Conduct to understand the expectations for participation in our community.


πŸ”’ Security

We take security seriously. If you discover a security vulnerability, please report it responsibly:

  • Email: imhoteptech@outlook.com
  • Include detailed description and steps to reproduce
  • We will acknowledge within 1-3 business days

See Security Policy for more details.


πŸ“„ License

This project uses a dual-licensing approach:

  • GNU Affero General Public License v3.0 (AGPL-3.0) for non-commercial use and contributions
  • Commercial License for commercial use, redistribution, or use in commercial products/services

For commercial licensing inquiries, please contact imhoteptech@outlook.com.


⭐ Star this repo if you find it helpful!

Built with ❀️ by Imhotep Tech

"Take control of your finances. Achieve your goals."

Documentation β€’ API Docs β€’ Developer Portal