/FlaskApp

Primary LanguagePython

Flask Budget App

About

URL: https://fludget.onrender.com/

This is a personal budgeting app using Flask. The app frontend was made using jinja, Python, and Bootstrap 5, while the backend was made using Flask-SQLAlchemy and connected to a PostgreSQL database hosted on a cloud PaaS, ElephantSQL. The frontend is currently minimal, and will be revamped using TypeScript, React.

By creating this app, I was able to gain experience in the following:

  • Modular programming using Flask and MVC architecture
  • Database connections and building using Flask-SQLAlchemy
  • PostgreSQL
  • Flask Jinja templating and Python
  • REST API development and CRUD operations
  • API testing/debugging with Insomnia
  • HTML, CSS, and Bootstrap5

API Endpoints

User endpoints

  • Register a new User: POST /api/register
  • Verify User and return token: POST /api/verify
  • Update User info by user_id: PUT /api/users/update/<user_id>
  • Delete User by user_id: DELETE /api/users/delete/<user_id>

Transactions endpoints

  • Get all transactions from all users: GET /api/transactions/get
  • Get a single transaction: GET /api/transactions/get/<transaction_id>
  • Get all transactions from a single user by username: GET /api/transactions/get/users/<username>
  • Get a single transaction (by id) from a single user (by username): GET /api/transactions/get/users/<username>/<transaction_id>
  • Add a new transaction: POST /api/transactions/add
  • Update a transaction by id: PUT /api/transactions/update/<transaction_id>
  • Delete a transaction by id: DELETE /api/transactions/delete/<transaction_id>