Skip to content

CoinTrack is a powerful and intuitive personal finance tracker designed to help you manage your income and expenses efficiently

License

Notifications You must be signed in to change notification settings

MisheckGalx/CoinTrack

Repository files navigation

ALX WEB-Stack Portfolio: CoinTrack

CoinTrack Logo

๐Ÿ“ˆ Your Personal Finance Tracker ๐Ÿ“Š

Google slides

Table of Contents

Overview

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.

Technologies-Used

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.

Structure

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

Components

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.

๐Ÿš€ Features

  • 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.

๐Ÿ“ฆ Installation

To install and run CoinTrack locally, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/digreatbrian/CoinTrack.git
  2. Install Dependencies:

    cd CoinTrack
    pip install -r requirements.txt
  3. Run the Application:

    FLASK_APP=__init__.py FLASK_ENV=development flask run

๐Ÿ“š Usage

  1. Sign Up: Create an account to start tracking your finances.
  2. Add Transactions: Enter your income and expenses to keep track.
  3. Categorize: Assign categories to your transactions for better organization.
  4. Analyze: Use the charts and reports to understand your spending habits.

๐Ÿ–ฅ๏ธ Demo

Watch the video

๐ŸŒŸ Future Enhancements

    ๐Ÿšง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.

๐Ÿ“ Contribution

We welcome contributions! Please read our Contributing Guidelines for more details.


AUTHORSโœ’๏ธ

  1. Misheck Gogo Github | Linkedin | Twitter

  2. Brian Musakwa Github | Linkedin | Twitter

  3. Brendon Jeje Github | Linkedin | Twitter


License

  • This project is licensed under the MIT License. See the LICENSE.md file for details.

โญ๏ธ Show Your Support

If you like CoinTrack, please give us a โญ๏ธ on GitHub!

About

CoinTrack is a powerful and intuitive personal finance tracker designed to help you manage your income and expenses efficiently

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published