Skip to content

Spendless is a web application for users to track their expenses

License

Notifications You must be signed in to change notification settings

droffilc1/spendless

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpendLess

Overview

SpendLess is a web application for users to track their expenses. The application consists of a backend API built with Flask, which interacts with a MySQL database using SQLAlchemy ORM, and a frontend user interface developed with React.

image

Live Demo

For the link to the live demo, Click here 👈

Blog post
Project slides

Technology Stack

Frontend:

  • React (JavaScript library)
  • Tailwind css

Backend:

  • Flask (Microframework for Python)

DevOps:

  • Digital Ocean server for hosting
  • Domain for online presence
  • Nginx web server for handling HTTP requests
  • Gunicorn application server for serving Flask application
  • Certbot for SSL encryption
  • UFW firewall for security

Database:

  • MYSQL

Features

  • Register a new user.
  • Login a user
  • Add an expense
  • Add a category
  • View expenses
  • Overview of a user's spending
  • Update expense
  • Update category
  • Track expenses

Motivation

This project was part of ALX Software Engineering program. I chose this project so as to get a deeper understanding of how APIs work and how to consume them on the frontend

Getting Started

To get a local copy up and running you just need to follow the following steps in your terminal;

git clone "url"

where "url" (without the quotation marks) is the url to this repository.

For example:

git clone https://github.com/droffilc1/spendless.git

Here you're copying the contents of the spendless repository on GitHub to your computer.

Change to the repository directory on your computer (if you are not already there):

cd spendless

Reference

How To Secure Nginx with Let's Encrypt on Ubuntu
SSL Server Test
How To Install Nginx on Ubuntu 22.04
How To Deploy a React Application with Nginx on Ubuntu
Skipping larger chunks while running "Npm run build"
Initial Server Setup with Ubuntu 20.04
SECTION 3 HELP
Alembic
How To Serve Flask Applications with Gunicorn and Nginx on Ubuntu 20.04
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Authors

Clifford Mapesa

🤝 Ways To Contribute

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

Show your support

Give a ⭐️ if you like this project!

📝 License

This project is MIT licensed.

Releases

No releases published

Packages

No packages published