Expense Tracker is a fully responsive web application developed using Django and seamlessly integrated with Tailwind CSS. Designed to efficiently manage personal finances, the application allows users to track their expenses and incomes through a user-friendly interface. Key features include robust user authentication, full CRUD functionality for managing expenses and incomes, and the ability to export financial data in various formats, such as PDF, CSV, and Excel. This project not only serves as a practical financial tool but also showcases the integration of Tailwind CSS with Django to create a modern, responsive user experience.
This project significantly contributed to the enhancement of my knowledge in Django and Tailwind CSS.
ExpenseTracker.mp4
- Expenses and Incomes Dashboard: A comprehensive dashboard displaying detailed records of expenses and incomes.
- User Authentication: Users can sign up, log in, and manage their own accounts securely.
- CRUD Operations: Full create, read, update, and delete (CRUD) functionality for both expenses and incomes.
- Data Export: Users can export their financial data (incomes and expenses) in PDF, CSV, and Excel formats.
- Summaries and Stats: Provides summaries and statistics of incomes and expenses for better financial insights.
- Backend: Django
- Frontend: Tailwind CSS
- Database: PostgreSQL
To set up this project locally, follow these steps:
- Python 3.x
- Pip (Python package installer)
- Node.js (for managing Tailwind CSS)
- npm (Node package manager)
-
Clone the repository:
git clone https://github.com/JunaidSalim/ExpenseTracker.git
cd ExpenseTracker
-
Create a virtual environment:
python3 -m venv venv
venv\Scripts\activate
-
Install the dependencies:
pip install -r requirements.txt
npm install
-
Apply the migrations:
python manage.py migrate
-
Configure .env
ENVIRONMENT=development SECRET_KEY=YOUR_SECRET_KEY DB_NAME=YOUR_DATABASE_NAME DB_USER=YOUR_DATABASE_USER DB_PASSWORD=YOUR_DATABASE_PASSWORD DB_HOST=YOUR_DATABASE_HOST DB_PORT=YOUR_DATABASE_PORT
-
Run the development server:
python manage.py runserver
-
Build Tailwind CSS:
npm run build
-
Open your browser and go to
http://127.0.0.1:8000/
to view the app.
Contributions are welcome! If you’d like to contribute:
- Fork the repo.
- Create a new feature branch
- Make your changes.
- Push the changes to your fork.
- Submit a pull request.
Please ensure your code follows best practices and is properly tested.
This project is licensed under the MIT License.