PennyWise is a Django-based web application designed to help users manage their finances effectively. This application provides various features including expense tracking, budget management, and financial analysis.
- Expense Tracking: Log your daily expenses with ease.
- Budget Management: Set and monitor budgets for different categories.
- Financial Analysis: Visualize your spending patterns and analyze your financial health.
- User Authentication: Secure login and registration system using Django's built-in authentication.
- Custom User Model: Utilizes a custom user model for enhanced user management.
- API Interactions: Implements RESTful APIs for data interaction, including POST and GET requests.
- Class-Based Views: Uses Django's class-based views (CBVs) for structured and efficient view management.
- Model-Based Views: Incorporates Django's model-based views to interact with database models efficiently.
- Python: Programming language used for backend logic.
- Django: Web framework for rapid development and clean design.
- MySQL: Database management system for storing application data.
- HTML/CSS: Frontend development for user interface and styling.
- JavaScript: Used for frontend interactivity and AJAX requests.
- Python 3.8+
- Django 3.2+
- MySQL
- Clone the repository:
git clone https://github.com/Mehnaz2004/PennyWise_Django.git cd PennyWise_Django
- Create a virtual environment and activate it:
python -m venv env source env/bin/activate # On Windows use `env\Scripts\activate`
- Install the required packages:
pip install -r requirements.txt
- Set up the database:
python manage.py makemigrations python manage.py migrate
- Create a superuser:
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
- Open your browser and go to http://127.0.0.1:8000/ to see the application in action.
- Register for a new account or log in with existing credentials.
- Navigate through the dashboard to add expenses, set budgets, and view financial analysis.
- Use the profile section to update personal details and manage account settings.
For any questions or suggestions, feel free to reach out:
- GitHub: Mehnaz2004
- LinkedIn: Mehnaz Ali