Skip to content

An expense tracker is a tool or application designed to help individuals or businesses keep track of their spending. It allows users to record and categorize their expenses, providing insights into where their money is going. A beautiful expense tracker typically features an intuitive and visually appealing interface that makes it easy for users to

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE.md
Notifications You must be signed in to change notification settings

sanjayengineer121/expense_tracker

Repository files navigation

Open-source Flask Dashboard generated by Sanjjay Yadav op top of a modern design. Designed for those who like bold elements and beautiful websites, Material Dashboard is ready to help you create stunning websites and web apps. Material Dashboard is built with over 70 frontend individual elements, like buttons, inputs, navbars, nav tabs, cards, or alerts, giving you the freedom of choosing and combining.


βœ… Features

  • Up-to-date dependencies
  • Database: sqlite
  • DB Tools: SQLAlchemy ORM, Flask-Migrate (schema migrations)
  • Session-Based authentication (via flask_login), Forms validation
  • Docker

Material Dashboard - Full-Stack Starter generated.

βœ… Dark mode

Material Dashboard - Full-Stack Starter generated.

βœ… Mobile mode compatible

Material Dashboard - Full-Stack Starter generated.

βœ… Full Beautiful Ui for Table of all Transaction and Next page button is available

Material Dashboard - Full-Stack Starter generated.

βœ… Full Beautiful Ui for customer list and Next page button is available

Material Dashboard - Full-Stack Starter generated.

βœ… Add Custmer & Add Payment & add Reciept
add Payment Method & add Payment card and a lot more

Material Dashboard - Full-Stack Starter generated.

βœ… search any customer under development

Material Dashboard - Full-Stack Starter generated.

βœ… Start in Docker

πŸ‘‰ Step 1 - Download the code from the GH repository (using GIT)

$ git clone https://github.com/app-generator/flask-material-dashboard.git
$ cd flask-material-dashboard

πŸ‘‰ Step 2 - Start the APP in Docker

$ docker-compose up --build 

Visit http://localhost:5085 in your browser. The app should be up & running.


βœ… Manual Build

Download the code

$ git clone https://github.com/app-generator/flask-material-dashboard.git
$ cd flask-material-dashboard

πŸ‘‰ Set Up for Unix, MacOS

Install modules via VENV

$ virtualenv env
$ source env/bin/activate
$ pip3 install -r requirements.txt

Set Up Flask Environment

$ export FLASK_APP=run.py
$ export FLASK_ENV=development

Start the app

$ flask run

At this point, the app runs at http://127.0.0.1:5000/.


πŸ‘‰ Set Up for Windows

Install modules via VENV (windows)

$ virtualenv env
$ .\env\Scripts\activate
$ pip3 install -r requirements.txt

Set Up Flask Environment

$ # CMD 
$ set FLASK_APP=run.py
$ set FLASK_ENV=development
$
$ # Powershell
$ $env:FLASK_APP = ".\run.py"
$ $env:FLASK_ENV = "development"

Start the app

$ flask run

At this point, the app runs at http://127.0.0.1:5000/.


πŸ‘‰ Create Users

By default, the app redirects guest users to authenticate. In order to access the private pages, follow this set up:

  • Start the app via flask run
  • Access the registration page and create a new user:
    • http://127.0.0.1:5000/register
  • Access the sign in page and authenticate
    • http://127.0.0.1:5000/login

βœ… Codebase

The project is coded using blueprints, app factory pattern, dual configuration profile (development and production) and an intuitive structure presented bellow:

< PROJECT ROOT >
   |
   |-- apps/
   |    |
   |    |-- home/                           # A simple app that serve HTML files
   |    |    |-- routes.py                  # Define app routes
   |    |
   |    |-- authentication/                 # Handles auth routes (login and register)
   |    |    |-- routes.py                  # Define authentication routes  
   |    |    |-- models.py                  # Defines models  
   |    |    |-- forms.py                   # Define auth forms (login and register) 
   |    |
   |    |-- static/
   |    |    |-- <css, JS, images>          # CSS files, Javascripts files
   |    |
   |    |-- templates/                      # Templates used to render pages
   |    |    |-- includes/                  # HTML chunks and components
   |    |    |    |-- navigation.html       # Top menu component
   |    |    |    |-- sidebar.html          # Sidebar component
   |    |    |    |-- footer.html           # App Footer
   |    |    |    |-- scripts.html          # Scripts common to all pages
   |    |    |
   |    |    |-- layouts/                   # Master pages
   |    |    |    |-- base-fullscreen.html  # Used by Authentication pages
   |    |    |    |-- base.html             # Used by common pages
   |    |    |
   |    |    |-- accounts/                  # Authentication pages
   |    |    |    |-- login.html            # Login page
   |    |    |    |-- register.html         # Register page
   |    |    |
   |    |    |-- home/                      # UI Kit Pages
   |    |         |-- index.html            # Index page
   |    |         |-- 404-page.html         # 404 page
   |    |         |-- *.html                # All other pages
   |    |    
   |  config.py                             # Set up the app
   |    __init__.py                         # Initialize the app
   |
   |-- requirements.txt                     # App Dependencies
   |
   |-- .env                                 # Inject Configuration via Environment
   |-- run.py                               # Start the app - WSGI gateway
   |
   |-- ************************************************************************

About

An expense tracker is a tool or application designed to help individuals or businesses keep track of their spending. It allows users to record and categorize their expenses, providing insights into where their money is going. A beautiful expense tracker typically features an intuitive and visually appealing interface that makes it easy for users to

Topics

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE.md

Stars

Watchers

Forks

Packages

No packages published