Welcome to Expense Tracker! This repository contains the backend code for an expense and income tracking application built with Django and Django Rest Framework. Expense Tracker allows users to manage their expenses and incomes, with features including authentication, email account verification, password reset via email, and CRUD operations for both expenses and incomes.
- Authentication: Users can register, login, and logout securely.
- Email Account Verification: New users are required to verify their email addresses before accessing the application.
- Password Reset by Email: Users can reset their passwords via email if they forget them.
- Expense CRUD: Users can create, retrieve, update, and delete expenses.
- Income CRUD: Users can create, retrieve, update, and delete incomes.
- Swagger Documentation: The API endpoints are documented using Swagger.
- Social Authentication: Users can sign in using Google, Facebook, and Twitter accounts.
- Django: A high-level Python web framework that encourages rapid development and clean, pragmatic design.
- Django Rest Framework (DRF): A powerful and flexible toolkit for building Web APIs in Django.
- Swagger: An open-source software framework backed by a large ecosystem of tools that helps developers design, build, document, and consume RESTful Web services.
- Google API Python Client: Python library for accessing Google's APIs.
- Facebook SDK: Python library for interacting with Facebook's Graph API.
- python-twitter: Python library for accessing Twitter's API.
To set up Expense Tracker locally, follow these steps:
- Clone this repository to your local machine:
git clone https://github.com/Vikuuu/Expense-Tracker.git
- Navigate to the project directory:
cd Expense_Tracker
- Create a Virtual Environment
python -m venv venv
- Activate the Environment
venv/scripts/activate
- Install the required dependencies:
pip install -r requirements.txt
- Run migrations to create the database schema:
python manage.py migrate
- Start the development server:
python manage.py runserver
- Access the application at http://localhost:8000.
The API endpoints are documented using Swagger. Once the server is running, you can access the Swagger documentation at http://localhost:8000/ to explore the available endpoints and their usage.
Contributions are welcome! If you would like to contribute to Expense Tracker, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with descriptive messages.
- Push your changes to your fork.
- Submit a pull request to the
main
branch of the original repository.