Sign inSign up

admin9705/budget101

By admin9705

•Updated about 1 year ago

Image
0

331

admin9705/budget101 repository overview

⁠Budget101 - Personal Budget Management System

Docker Pulls GitHub release License

A comprehensive Flask-based personal budget management application with a dark theme UI inspired by Huntarr. Manage your bills, track taxes, and control your personal finances with ease.

⁠✨ Features

  • šŸ  Dashboard: Coming soon - overview of your financial status
  • šŸ’³ Bills Management: Track bills, due dates, and payment status
  • šŸ“Š Tax Management: Organize tax information by year
  • āš™ļø Settings: Customize your experience with user preferences
  • šŸ” Authentication: Secure user registration and login system
  • šŸ“± Responsive Design: Modern, mobile-friendly interface
  • 🐳 Docker Ready: Easy deployment with Docker

ā šŸš€ Quick Start

  1. Using Docker Run:
docker run -d \
  --name budget101 \
  --restart unless-stopped \
  -p 9715:9715 \
  -v ./config:/config \
  admin9705/budget101:latest
  1. Using Docker Compose:
version: '3.8'
services:
  budget101:
    image: admin9705/budget101:latest
    container_name: budget101
    restart: unless-stopped
    ports:
      - "9715:9715"
    volumes:
      - ./config:/config
    environment:
      - TZ=America/New_York
  1. Access the application:
    • Open your browser to http://localhost:9715
    • Create your first admin account

ā šŸ”§ Configuration

Budget101 uses a YAML configuration file located at /config/config.yml. Copy the example configuration:

cp config/config.yml.example config/config.yml

Key configuration options:

  • Database settings: SQLite database path and backup options
  • Security settings: Session timeout, login attempts, etc.
  • Email notifications: SMTP settings for bill reminders
  • UI preferences: Currency, timezone, theme options

ā šŸ“‹ Requirements

  • Python 3.11+ (for development)
  • Docker (for deployment)
  • Modern web browser

ā šŸ› ļø Development Setup

  1. Clone the repository:
git clone https://github.com/admin9705/budget101.git
cd budget101
  1. Create virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Run the application:
python app.py
  1. Access the application:
    • Open http://localhost:9715

ā šŸ—ļø Project Structure

budget101/
ā”œā”€ā”€ app.py                 # Main Flask application
ā”œā”€ā”€ requirements.txt       # Python dependencies
ā”œā”€ā”€ Dockerfile            # Docker build configuration
ā”œā”€ā”€ docker-compose.yml    # Docker Compose setup
ā”œā”€ā”€ static/               # Static assets (CSS, JS)
│   ā”œā”€ā”€ css/style.css    # Main stylesheet
│   └── js/script.js     # JavaScript functionality
ā”œā”€ā”€ templates/            # Jinja2 templates
│   ā”œā”€ā”€ base.html        # Base template
│   ā”œā”€ā”€ auth/            # Authentication pages
│   └── pages/           # Application pages
ā”œā”€ā”€ config/              # Configuration files
└── .github/workflows/   # GitHub Actions CI/CD

ā šŸŽØ Features Overview

⁠Bills Management
  • Add and track bills with due dates
  • Categorize bills (Housing, Utilities, etc.)
  • Mark bills as paid/unpaid
  • Set recurring bills
  • Visual progress tracking
⁠Tax Management
  • Track tax information by year
  • Record income, deductions, and payments
  • Monitor filing status
  • Calculate refunds and amounts owed
⁠User Settings
  • Customize currency and timezone
  • Configure notification preferences
  • Change passwords securely
  • Export data functionality

ā šŸ”’ Security Features

  • Secure Authentication: bcrypt password hashing
  • Session Management: Configurable session timeouts
  • Rate Limiting: Protection against brute force attacks
  • CSRF Protection: Built-in Flask security
  • Input Validation: Comprehensive form validation

⁠🌐 API Endpoints

Budget101 provides RESTful API endpoints:

  • POST /api/bills - Add new bills
  • POST /api/taxes - Add tax records
  • POST /api/settings/user - Update user settings
  • POST /api/settings/password - Change password

ā šŸ¤ Contributing

We welcome contributions! Please see our contributing guidelines:

  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

ā šŸ“ License

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

ā šŸ†˜ Support

ā šŸ™ Acknowledgments

ā šŸ“Š Statistics

  • Languages: Python, HTML, CSS, JavaScript
  • Framework: Flask
  • Database: SQLite
  • UI: Bootstrap 5 with custom dark theme
  • Deployment: Docker

Made with ā¤ļø for personal budget management

Budget101 Interface

Tag summary

Content type

Image

Digest

sha256:1569643b4…

Size

139.1 MB

Last updated

about 1 year ago

docker pull admin9705/budget101