https://github.com/joseph-ogutu/expense-management-application
Crafted AI powered comprehensive full-stack expense management application. facilitating effortless expense tracking & management.
https://github.com/joseph-ogutu/expense-management-application
bootstrap channels cryptography django html javascript openai python websocket
Last synced: 4 months ago
JSON representation
Crafted AI powered comprehensive full-stack expense management application. facilitating effortless expense tracking & management.
- Host: GitHub
- URL: https://github.com/joseph-ogutu/expense-management-application
- Owner: Joseph-Ogutu
- Created: 2025-04-02T04:35:31.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-02T05:16:29.000Z (about 1 year ago)
- Last Synced: 2025-09-07T05:41:25.228Z (10 months ago)
- Topics: bootstrap, channels, cryptography, django, html, javascript, openai, python, websocket
- Language: Python
- Homepage:
- Size: 32.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
The Expense Management Application is a full-stack web application built to help users effortlessly track and manage their expenses. It incorporates modern features like real-time updates, AI-powered suggestions, and end-to-end encryption for secure data handling.
Features
Expense Tracking: Add, view, and manage expenses with ease.
Invoice Generation: Automatically generate PDF invoices for expenses.
File Uploads: Attach files (e.g., receipts) to expenses.
Real-Time Updates: Live board sharing and real-time editing using WebSockets.
AI Automation: Get AI-powered suggestions for expense management using OpenAI.
Search, Sort, and Filter: Easily find and organize expenses.
Pagination: Navigate through large lists of expenses efficiently.
End-to-End Encryption: Secure sensitive data using cryptography.
Authentication & Authorization: Secure user accounts with login and logout functionality.
Technologies Used
Frontend: HTML5, CSS3, JavaScript, Bootstrap
Backend: Python (Django)
Database: SQLite (default for development)
Real-Time Communication: Django Channels (WebSockets)
AI Integration: OpenAI API
Encryption: Cryptography library (Fernet)
PDF Generation: ReportLab
Version Control: Git
Getting Started
Prerequisites
Before you begin, ensure you have the following installed:
Python 3.8 or higher
pip (Python package manager)
Git (optional, for version control)
INSTALLATION.
1 Clone the repository.
git clone https://github.com/Joseph-Ogutu/Expense-Management-Application.git
cd expense-management-app
2 set up virtual Environment.
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
3 Install Dependencies.
pip install -r requirements.txt
4 Set up Database.
python manage.py migrate
5 create SuperUser Admin.
python manage.py createsuperuser
6 Set Up OpenAI API Key:
Create an account on OpenAI and get your API key.
Add the key to your environment variables or in settings.py:
OPENAI_API_KEY = 'your-api-key-here'
Run the development Server.
python manage.py runserver
7 Access the Application: Open your browser and go to http://127.0.0.1:8000/.
Usage
1. User Authentication
Sign Up: Create a new account.
Log In: Access your account to manage expenses.
Log Out: Securely log out of your account.
2. Managing Expenses
Add Expense: Fill out the form to add a new expense.
View Expenses: See a list of all your expenses with search, sort, and filter options.
Generate Invoice: Click the "Invoice" button to generate a PDF for any expense.
Edit/Delete: Update or remove expenses as needed.
3. AI Suggestions
Navigate to the AI Suggestions page and enter your query to get AI-powered tips for managing expenses.
4. Real-Time Updates
Open the application in multiple tabs to see real-time updates when expenses are added or edited.
Project Structure
expense-management-app/
├── expenses/ # Main app for expense management
│ ├── migrations/ # Database migrations
│ ├── templates/ # HTML templates
│ ├── models.py # Database models
│ ├── views.py # Business logic
│ ├── forms.py # Forms for user input
│ ├── consumers.py # WebSocket consumers
│ └── routing.py # WebSocket routing
├── expense_manager/ # Django project settings
│ ├── settings.py # Project settings
│ ├── urls.py # URL routing
│ └── asgi.py # ASGI configuration for Web