Skip to content

yeeydu/personalFinance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PERSONAL FINANCE

A personal finance project made with Flask, SQLAlchemy ORM and Chart.js. A CRUD for all expenses records, a create and delete for incomes and categories.

This is my CS50X Final Project

PERSONAL FINANCE

Description:

A Personal Finance Flask Project with MYSQL Database and SQLAlchemy ORM. This small software will record all your incomes and expenses, Showing the balance according to the expenses and revenues. A CRUD method for expenses and income, paginations and responsive. It also have a basic Chart to see you finance statistics. Project was done with Flask Python framwork, JavaScript and MySQL also bootstrap for styling.


Project especifications

To start the project you will have to create a database in MYSQL called personalFinance. It is set ass root with no password. After that it will only need to start a run the database.

	mysql.server start
	mysql -u root -p
	Create database personalFinance

“If you prefer you can set a password and change it in the project .env file” then it will link to the app.py database connection with thouse variables.

MYSQL_USER = root

MYSQL_PASSWORD =

MYSQL_DATABASE = personalFinance

MYSQL_HOST = localhost

The project includes a requirement.txt file.

A requirements file is documenting what Python packages are required to run the project. It will later on be used by Docker for instance to install these dependencies and ensure our application will run smoothly upon deployement with:

pip install -r requirements.txt

This are the projects Packages I installed:

		pip install SQLAlchemy
		pip install python-dotenv
		pip install flask-login
		pip install flask-paginate
		pip freeze > requirements.txt

Run Project

To run the project you will have to create and environment and activate it

	python3 -m venv .venv
	. .venv/bin/activate

SQLAlchemy

The SQLAlchemy - create_all() in index.py will create all tables for the project configured in the models folder. Because it was set in index.py you will have to run:

	python index.py

Main file

There’s is personalFinance.py file in the routes folder that contains all routes and logic for the application.

Info

If flask project takes long and shows HTTP ERROR 403 clearing browser cookies solves the problem.

Stack used

Front-end: HTML, CSS, BOOTSTRAP, JAVASCRIPT

Back-end: FLASK, JAVASCRIPT, MYSQL

Funcionalities

  • CRUD
  • Realtime charts
  • Responsive
  • Multiple users

Packages Version:

  • Python 3.9.12
  • Flask 2.3.2
  • Werkzeug 2.3.6
  • SQLAlchemy 2.0.19

Screenshots

App Screenshot

🔗 Links

portfolio linkedin

About

A personal finance project made with Flask, SQLAlchemy ORM and Chart.js. A CRUD for all expenses records, a create and delete for incomes and categories.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors