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.
For the link to the live demo, Click here 👈
- React (JavaScript library)
- Tailwind css
- Flask (Microframework for Python)
- 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
- MYSQL
- 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
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
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
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'
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
Give a ⭐️ if you like this project!
This project is MIT licensed.