Skip to content

CipherJon/Pynance

Repository files navigation

Pynance - Integrated Financial Management System

Overview

Pynance is an integrated system combining five powerful applications:

  • PyBudget: Expense tracker and budget management
  • Calculator: Advanced calculator with comprehensive mathematical operations
  • Pytasker: Task management application with Flask backend
  • FileOrganizer: File organization tool with duplicate detection and date-based organization
  • PyBot: Chatbot for financial assistance and general queries

Features

PyBudget

  • Track expenses and manage budgets
  • Generate detailed budget reports
  • Categorize expenses for better financial tracking

Calculator

  • Basic arithmetic operations (addition, subtraction, multiplication, division)
  • Advanced mathematical operations (power, square root, percentage, modulo, absolute value)
  • Calculation history and clear screen functionality
  • Comprehensive error handling

PyBot

  • Chatbot for financial assistance and general queries
  • Natural language processing for intent recognition
  • User authentication and session management
  • Web-based interface for interaction
  • Integration with other Pynance modules for unified assistance

FileOrganizer

  • Organize files into categories based on file extensions
  • Date-based organization (monthly/quarterly)
  • Duplicate file detection and handling
  • Parallel processing for better performance
  • Comprehensive logging
  • Safe file operations with backup support
  • Command-line interface with various options

Pytasker

  • Full-stack task management application
  • Flask backend with SQLAlchemy database
  • RESTful API for task management
  • CORS support for frontend-backend communication

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd Pynance
  2. Install the required dependencies:

    pip install -r requirements.txt

Usage

Running the Main Application

To see all functionalities in action:

python main.py

To run the file organizer:

python pynance.py organizer

PyBudget Usage

from pybudget import Budget, Expense, generate_report

# Create a budget
budget = Budget("Monthly Budget", 5000.0)

# Add expenses
expense1 = Expense("Groceries", 150.0, "Food")
expense2 = Expense("Rent", 1200.0, "Housing")
budget.add_expense(expense1)
budget.add_expense(expense2)

# Generate a report
print(generate_report(budget))

Calculator Usage

from calculator.calculator import Calculator

# Create a calculator instance
calculator = Calculator()

# Perform operations
result_add = calculator.add(10, 5)
result_subtract = calculator.subtract(10, 5)
result_multiply = calculator.multiply(10, 5)
result_divide = calculator.divide(10, 5)

print(f"Addition: 10 + 5 = {result_add}")
print(f"Subtraction: 10 - 5 = {result_subtract}")
print(f"Multiplication: 10 * 5 = {result_multiply}")
print(f"Division: 10 / 5 = {result_divide}")

FileOrganizer Usage

# Run the file organizer
python pynance.py organizer

# With options:
python pynance.py organizer --directory /path/to/directory --workers 8 --verbose

Pytasker Usage

To run the Pytasker task management application:

  1. Navigate to the Pytasker directory:

    cd Pytasker
  2. Run the Flask application:

    flask run
  3. Open your browser to http://localhost:5000 to access the task manager

PyBot Usage

To run the PyBot chatbot application:

  1. Navigate to the Pynance directory:

    cd Pynance
  2. Run the PyBot application:

    python pynance.py chatbot
  3. Open your browser to http://localhost:5000 to access the chatbot

Unified CLI

Pynance provides a unified CLI to access all components:

python pynance.py [budget|calculator|tasker|chatbot|all]
  • budget: Run PyBudget demo
  • calculator: Run PyCalculator demo
  • tasker: Start Pytasker web application
  • chatbot: Start PyBot web application
  • organizer: Run File Organizer
  • all: Run all demos

Project Structure

Pynance/
│
├── pybudget/
│   ├── __init__.py
│   ├── budget.py
│   ├── expense.py
│   ├── reports.py
│   └── utils.py
│
├── calculator/
│   ├── __init__.py
│   ├── calculator.py
│   ├── operations.py
│   └── utils.py
├── file_organizer/
│   ├── file_organizer/
│   │   ├── __init__.py
│   │   ├── config.py
│   │   ├── main.py
│   │   ├── organizer.py
│   │   └── utils.py
│   ├── scripts/
│   └── tests/
├── Pytasker/
│   ├── app/
│   │   ├── __init__.py
│   │   ├── forms.py
│   │   ├── models.py
│   │   ├── routes.py
│   │   └── templates/
│   ├── config.py
│   └── manage.py
├── pybot/
│   ├── __init__.py
│   ├── bot/
│   │   ├── __init__.py
│   │   ├── chatbot.py
│   │   ├── core/
│   │   │   ├── __init__.py
│   │   │   ├── extensions.py
│   │   │   ├── preprocessing.py
│   │   │   └── models/
│   │   │       └── svc_model.py
│   ├── config/
│   │   ├── __init__.py
│   │   ├── models.py
│   │   └── settings.py
│   ├── data/
│   │   └── intents.json
│   ├── static/
│   │   ├── css/
│   │   │   └── style.css
│   │   └── js/
│   │       └── chatbot.js
│   └── templates/
│       ├── index.html
│       ├── login.html
│       └── register.html
│
├── shared/
│   ├── __init__.py
│   ├── config.py
│   ├── logging.py
│   └── utils.py
│
├── tests/
│   ├── test_pybudget/
│   ├── test_calculator/
│   └── test_shared/
│
├── main.py
├── pynance.py
├── README.md
├── requirements.txt
└── setup.py

Testing

Run the tests to ensure everything is working correctly:

python -m pytest tests/

License

This project is licensed under the MIT License.

About

A python based personal finance system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages