The Account Balance Management System is a comprehensive,Responsive web application built with Django that allows users to manage their financial transactions effectively. This system features a user-friendly dashboard, profile management, transaction tracking, custom and default categories, and detailed financial reporting. It utilizes Bootstrap for styling and JavaScript for enhanced interactivity.
- Home Page: Displays a financial chart summarizing your income and expenses along with sections for income and outcome.
- User Authentication: Sign up, sign in, and password recovery functionality. Password recovery uses email with a time-sensitive token.
- Profile Management: Update your first name, last name, and email.
- Category Management: Add custom categories and use default categories for organizing transactions.
- Transaction Handling: Record transactions with details such as amount, category, type (income or outcome), and date/time.
- General Report: View reports showing income and expenses by year, month, and category. Interactive charts on the home page link to detailed monthly reports.
- Chart Report: It's fully responsive and you can click on each month to see the details of that month with Income and Outcome.
Follow these steps to set up and run the project:
-
Clone the Repository:
git clone https://github.com/AhEsmaeili79/Account_balance cd Account_balance -
Set Up a Virtual Environment: Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install Dependencies:
pip install -r requirements.txt
-
Configure the Database: Edit the
settings.pyfile to configure your database. You can choose between PostgreSQL or MySQL by updating the relevant settings. -
Apply Migrations:
python manage.py migrate
-
Create a Superuser:
python manage.py createsuperuser
-
Run the Development Server:
python manage.py runserver
-
Access the Application: Open your web browser and navigate to
http://127.0.0.1:8000/.
- Date Handling: The application uses Shamsi (Jalali) dates, provided by the
django-jalalipackage. - Email Configuration: Email settings for password recovery are configured in
settings.py.
- Django: High-level Python web framework used for development.
- Bootstrap: Framework for responsive design.
- JavaScript: Used for enhancing interactive features.
- Persiantools: For Persian date handling.
Contributions are welcome! Feel free to open issues or submit pull requests for improvements or bug fixes.
For further information or support, please open an issue on this repository or contact via [email protected].





