An open API service indexing awesome lists of open source software.

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.

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