Expense Tracker is a powerful web application designed to help you manage your finances effortlessly. By providing a user-friendly interface, it enables you to track your income and expenses, view detailed analytics, and make informed financial decisions. This project utilizes HTML, CSS, JavaScript, Flask (a Python framework), and SQL Alchemy for database management.
-
User Authentication: Secure login and signup pages that dynamically handle multiple databases.
-
Expense Management: Add, edit, and delete income and expenses with ease.
-
Analytics: Visualize your financial data using responsive bar charts.
-
Responsive Design: Optimized for various devices, providing a seamless experience on desktops, tablets, and mobile phones.
π οΈFrontend: HTML, CSS, JavaScript
π οΈBackend: Flask (Python framework)
π οΈDatabase: SQL Alchemy
-
A code editor (example, VSCode)
-
Python installed on your machine
Clone the Repository
git clone "https://github.com/Aditi-Gopinath/Dynamic-Expense-Tracker"
cd expense-tracker
Set Up a Virtual Environment
python3 -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
Install the Required Dependencies
pip install Flask Flask-SQLAlchemy Flask-Login Werkzeug
Configure the Database
- Update the database URI in the config.py file.
SQLALCHEMY_DATABASE_URI = 'sqlite:///expense_tracker.db' # Example for SQLite
- Set up the database:
flask db init
flask db migrate -m "Initial migration."
flask db upgrade
Run the Application
flask run
Open your web browser and navigate to http://127.0.0.1:5000 to access the application.
Step 1: REGISTRATION AND LOGIN
-
Sign Up: Create an account by providing your personal details.
-
Login: Access your account using your credentials.
Step 2: MANAGING EXPENSES
-
Add Expense: Record your expenses by filling out the expense form.
-
View Expenses: View a list of all recorded expenses.
-
Delete Expense: Remove any unwanted expenses.
Step 3: VIEWING ANALYTICS
- Bar Chart Visualization: View your spending habits through dynamically generated bar charts for better financial insights.
For detailed documentation about Flask ,visit documentation
Don't forget to star β the repository!
Contributions make the open-source community an amazing place to learn, inspire, and create. Whether you're fixing bugs, adding new features, improving documentation, or spreading the word, your contributions are greatly appreciated.
We welcome contributions to improve the Expense Tracker! Here's how you can contribute:
-
Explore the Issues: Start by checking the Issues page to see if someone has reported a problem or requested a feature you're interested in working on. If your idea or the bug you've found isn't listed, you can open a new issue. This lets the community discuss and validate the issue or enhancement before you spend time on it.
-
Fork the Project: Fork the repository by clicking the 'Fork' button at the top right of the page. This creates a copy of the codebase under your GitHub account.
-
Create Your Feature Branch: From your fork, create a new branch for your feature or bugfix. Use a clear and descriptive name for your branch, such as
git checkout -b feature/YourFeatureName
orgit checkout -b bugfix/YourBugfixDescription
. -
Make Your Changes: Implement your changes in your feature branch. Be sure to adhere to the coding standards and guidelines of the project. It's also a good practice to write meaningful commit messages that clearly describe the changes you've made.
-
Test Your Changes: Before submitting your changes, thoroughly test them to ensure they work as expected and don't introduce new issues.
-
Submit a Pull Request: Once you're happy with your changes, push your branch to your fork on GitHub and then submit a pull request to the original repository. In your pull request description, explain the changes you've made and reference any related issue numbers.
-
Code Review: After submitting your pull request, the project maintainers will review your changes. Be open to feedback and be prepared to make further adjustments to your code. This is a collaborative process, and constructive discussions are key to making great contributions.
-
Follow the Code of Conduct: Always conduct yourself in a respectful and positive manner when interacting with the community.
-
Ask Questions: Don't hesitate to ask for help or clarification if you're unsure about something. The community is here to support each other.
Phase 1: Feature Enhancements
-
User Profile: Add functionality for users to manage their profiles.
-
Advanced Analytics: Introduce more detailed analytics and reporting features.
Phase 2: User Experience Improvements
- Notifications: Implement email and in-app notifications for expense tracking and reminders.
Phase 3: Security and Compliance
-
Enhanced Security: Implement additional security measures to protect user data.
-
Data Privacy Compliance: Ensure compliance with data protection regulations such as GDPR.
Phase 4: Expansion and Scaling
-
Multiple Currencies: Introduce support for multiple currencies.
-
Regional Expansion: Expand the platform's reach to additional regions and languages.
By following this roadmap, we aim to continuously improve the Expense Tracker and provide a reliable tool for managing personal finances.
If you have any feedback, please reach out at [email protected]