- Overview
- Technologies-Used
- Structure
- Components
- Features
- Installation
- Usage
- Contribution
- Demo
- License
CoinTrack is a powerful and intuitive personal finance tracker designed to help you manage your income and expenses efficiently. With CoinTrack, you can easily keep track of your financial transactions, categorize your spending, and visualize your financial data through insightful charts.The project demonstrates proficiency in backend development and serves as a showcase of Full Stack Software Engineering skills.
The CoinTrack project utilizes the following technologies and tools:
- Flask: A lightweight web application framework for Python.
- Object-Oriented Programming (OOP): Utilized for efficient code organization and maintainability.
- Flask-Login: A Flask extension for managing user sessions and authentication.
- Jinja2: The most popular template engine for Python projects.
- Bootstrap: A front-end framework for designing responsive and mobile-first websites.
- HTML: The standard markup language for creating web pages and applications.
- CSS: Cascading Style Sheets for styling HTML elements and enhancing the visual presentation.
- Git: A version control system for tracking changes in the project codebase.
- GitHub: A platform for hosting and collaborating on Git repositories.
These technologies collectively enable the development of a robust
and user-friendly
web application for managing notes effectively.
Here is the Structure of the CoinTrack App:
~/CoinTrack master Ruby 3.3.0 root@DESKTOP-QN4FMQ0 23:20:08 ─╮
❯ ls ─╯
AUTHORS README.md app/ config.py requirements.txt tests/
LICENSE __pycache__/ cointrack.db migrations/ run.py venv/
~/CoinTrack master Ruby 3.3.0 root@DESKTOP-QN4FMQ0 23:20:09 ─╮
❯ tree -I venv
.
├── AUTHORS
├── LICENSE
├── README.md
├── __pycache__
│ └── config.cpython-310.pyc
├── app
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-310.pyc
│ │ ├── forms.cpython-310.pyc
│ │ ├── models.cpython-310.pyc
│ │ ├── routes.cpython-310.pyc
│ │ ├── setup.cpython-310.pyc
│ │ └── utils.cpython-310.pyc
│ ├── forms.py
│ ├── models.py
│ ├── routes.py
│ ├── setup.py
│ ├── static
│ │ ├── css
│ │ │ ├── finance_entry.css
│ │ │ ├── styles-2.css
│ │ │ ├── styles.css
│ │ │ └── styles3.css
│ │ └── images
│ │ ├── bg1.jpg
│ │ ├── bg2.jpg
│ │ ├── bg3.jpg
│ │ ├── bg4.jpg
│ │ ├── coinlogo.jpg
│ │ ├── cointrack.png
│ │ └── favicon.png
│ ├── templates
│ │ ├── add_expense.html
│ │ ├── add_income.html
│ │ ├── base.html
│ │ ├── dashboard.html
│ │ ├── edit_expense.html
│ │ ├── edit_income.html
│ │ ├── expense_list.html
│ │ ├── income_list.html
│ │ ├── index.html
│ │ ├── login.html
│ │ └── register.html
│ ├── utils.py
│ └── views
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-310.pyc
│ │ ├── dashboard.cpython-310.pyc
│ │ ├── expense.cpython-310.pyc
│ │ ├── home.cpython-310.pyc
│ │ ├── income.cpython-310.pyc
│ │ ├── login.cpython-310.pyc
│ │ ├── logout.cpython-310.pyc
│ │ └── register.cpython-310.pyc
│ ├── dashboard.py
│ ├── expense.py
│ ├── home.py
│ ├── income.py
│ ├── login.py
│ ├── logout.py
│ └── register.py
├── cointrack.db
├── config.py
├── migrations
│ ├── README
│ ├── alembic.ini
│ ├── env.py
│ └── script.py.mako
├── requirements.txt
├── run.py
└── tests
└── test_app.py
11 directories, 63 files
The project consists of the following components:
.idea/
: Project-specific settings and configuration files for the IDE.app/
: Core application code for CoinTrack.static/
: Contains static files like CSS, JavaScript, and images.templates/
: HTML templates for rendering views.views/
: Contains Python files managing the logic for rendering views and handling requests.
migrations/
: Database migration files to keep track of changes in the database schema. -tests/
: Unit and integration tests for ensuring the correctness of the application.venv/
: Virtual environment for managing dependencies locally..gitignore
: Specifies files and directories Git should ignore.
AUTHORS
: A list of contributors to the project.LICENSE
: The project's license (MIT License).
README.md
: A file describing the project and its usage.config.py
: Configuration settings for the application.
requirements.txt
: Lists all dependencies needed to run the project.run.py
: The main script to start the application.
- Easy Transaction Management: Quickly add, edit, and delete transactions.
- Custom Categories: Organize your spending with customizable categories.
- Insightful Charts: Visualize your income and expenses with interactive charts.
- Secure and Private: Your data is stored securely and is only accessible to you.
To install and run CoinTrack locally, follow these steps:
-
Clone the Repository:
git clone https://github.com/digreatbrian/CoinTrack.git
-
Install Dependencies:
cd CoinTrack pip install -r requirements.txt
-
Run the Application:
FLASK_APP=run.py FLASK_ENV=development flask run
- Sign Up: Create an account to start tracking your finances.
- Add Transactions: Enter your income and expenses to keep track.
- Categorize: Assign categories to your transactions for better organization.
- Analyze: Use the charts and reports to understand your spending habits.
🚧This project is still a work in progress!
📍There are still many elements that are under development and we wish to implement them into our CoinTrack project. Stay tuned for more updates coming soon. 🍿📺🍿
- Budget Tracking: Set and track your monthly budgets.
- Expense Forecasting: Predict future expenses based on historical data.
- Mobile App: Access your finances on the go with our upcoming mobile app.
We welcome contributions! Please read our Contributing Guidelines for more details.
- This project is licensed under the MIT License. See the LICENSE.md file for details.
If you like CoinTrack, please give us a ⭐️ on GitHub!