Skip to content

khushaank/bloom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A sophisticated personal finance tracker designed for professionals who value privacy, elegance, and control over their financial data.

Features

Real-time Tracking - Monitor income and expenses across diverse categories 🎯 Savings Goals - Set ambitious targets and visualize your progress daily 🔒 Bank-level Security - Encrypted data transmission with Row Level Security via Supabase 📊 Beautiful Analytics - Intelligent insights in a calm, professional environment 💰 Budget Management - Set monthly budgets and track spending patterns 🌍 Multi-currency Support - Track finances in any currency 📱 Responsive Design - Works seamlessly on desktop, tablet, and mobile

Getting Started

Prerequisites

  • Modern web browser (Chrome, Firefox, Safari, Edge)
  • Node.js 16+ (optional, for development)

Installation

  1. Clone the repository
git clone https://github.com/khushaank/bloom.git
cd bloom-finance
  1. Start a local server
# Using Python
python -m http.server 8000

# Using Node.js
npm run dev
  1. Open in browser
http://localhost:8000

Development

Setup Development Environment

# Install dependencies
npm install

# Run linter
npm run lint

# Build for production
npm run build

Project Structure

bloom-finance/
├── index.html                    # Landing page
├── login.html                    # Authentication page
├── finance-tool.html             # Main dashboard
├── assets/
│   ├── css/
│   │   ├── style.css            # Main styles
│   │   ├── landing.css          # Landing page styles
│   │   └── login.css            # Login page styles
│   ├── js/
│   │   ├── script.js            # Main app logic
│   │   ├── supabase.js          # Database integration
│   │   ├── security.js          # Security utilities
│   │   ├── landing.js           # Landing page logic
│   │   └── login.js             # Authentication logic
│   └── images/                  # Images and assets
├── .htaccess                     # Apache configuration
├── .eslintrc                     # Linting rules
├── .editorconfig                 # Editor configuration
├── .gitignore                    # Git ignore rules
├── package.json                  # NPM configuration
└── README.md                     # This file

Technology Stack

  • Frontend: HTML5, CSS3, JavaScript ES6+
  • Backend: Supabase (PostgreSQL + Auth)
  • Security: SSL/TLS, CSP, Row Level Security
  • Charts: Chart.js for data visualization
  • Hosting: HTTPS-secured infrastructure

Security Features

🔐 End-to-End Encryption - Your financial data is encrypted in transit 🔒 Row Level Security (RLS) - Database-level access control 🛡️ Content Security Policy - Prevents injection attacks ⚠️ OWASP Top 10 Compliant - Built with security best practices 🚫 No Trackers - Zero analytics or tracking cookies

Privacy

Bloom is committed to your privacy:

  • ✅ No third-party trackers
  • ✅ No ad networks
  • ✅ No data selling
  • ✅ Open privacy policy
  • ✅ GDPR compliant See Privacy Policy for details.

Browser Support

Browser Support
Chrome ✅ Latest 2 versions
Firefox ✅ Latest 2 versions
Safari ✅ Latest 2 versions
Edge ✅ Latest 2 versions
IE 11 ❌ Not supported

Performance

  • Fast Loading: Optimized for Core Web Vitals
  • 📊 Responsive: Adapts to all screen sizes
  • 🎯 Efficient: Minimal JavaScript bundles
  • 💾 Caching: Browser caching for faster repeat visits

Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow the ESLint rules (run npm run lint)
  • Use Prettier for code formatting
  • Write semantic HTML
  • Test on multiple browsers
  • Ensure accessibility (WCAG 2.1 Level AA)

Troubleshooting

Dashboard won't load

  • Clear browser cache (Ctrl+Shift+Delete)
  • Check browser console for errors (F12)
  • Ensure Supabase is configured correctly

Transactions not saving

  • Check internet connection
  • Verify Supabase credentials
  • Check browser's local storage permissions

Images won't upload

  • Ensure file size is under 5MB
  • Supported formats: JPG, PNG, WebP, GIF
  • Check browser's file input permissions

API Reference

Local Storage Keys

// Theme setting
sessionStorage.getItem('bloom_theme')  // 'light' | 'dark' | 'system'

// User data
sessionStorage.getItem('bloom_transactions')
sessionStorage.getItem('bloom_goals')

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Changelog

v1.0.0 (March 2026)

  • Initial release
  • Dashboard with expense tracking
  • Savings goals management
  • Budget tracking
  • Privacy mode
  • Security features

Roadmap

  • Mobile app (iOS/Android)
  • AI-powered insights
  • Investment tracking
  • Tax reporting
  • Multi-user accounts
  • Advanced analytics

Credits

Developed with ❤️ by the Bloom Team
Special thanks to Supabase for the amazing backend platform


Made with elegance. Built with security. For your financial future. 💚

About

A Open Source Persoanl finance tool made for common people.

Topics

Resources

Stars

Watchers

Forks

Contributors