/Budget-App

A mobile web application where you can manage your budget: you have a list of transactions associated with a category, so that you can see how much money you spent and on what.

Primary LanguageHTMLMIT LicenseMIT

🤑Budget App💵

📗 Table of Contents

📖 Budget App

The Budget App is a Flask application designed for managing budgets. Users can register, log in, add transactions associated with categories, and track their spending.

🛠 Built With

  • Pyothn (Flask)
  • HTML & CSS & JS

Tech Stack

Client
  • HTML
  • CSS
  • JavaScript
Server
Database

Key Features

  • User Authentication: Users can register and log in securely.
  • Category Management: Users can add, view, and manage categories.
  • Transaction Tracking: Users can add transactions associated with categories.

(back to top)

🚀 Live Demo

(back to top)

💻 Getting Started

Prerequisites

Before getting started, ensure you have the following prerequisites installed on your system:

Setup

  1. Clone the repository to your local machine:
  git clone https://github.com/yourusername/your-project.git
  1. Navigate to the project directory:
  cd Budget-App
  1. Install Python dependencies and create a virtual environment using pipenv:
  pipenv install
  1. Activate the virtual environment:
  pipenv shell

Install

No additional installation steps required.

Usage

  1. Start the Flask server:
  python server.py
  1. You can now use the Budget App to manage your finances:
  python server.py

Run tests

To run linting tests with Stylint, Eslint, and Webhint, execute the following command:

  npm test

Deployment

  • Set up your production environment according to your hosting provider's guidelines.
  • Make sure to configure your database settings in the Flask app for production.
  • Use a WSGI server like Gunicorn to serve your Flask application in production.
  • Set up a web server (e.g., Nginx) to act as a reverse proxy and serve static files.
  • Deploy your application following your hosting provider's deployment process.
  • Don't forget to set environment variables for sensitive information (e.g., database credentials) in your production environment.

(back to top)

👥 Authors

👤 Chawki Mbarki

(back to top)

🔭 Future Features

  • Implement Desktop Design
  • UX Improvements: Animations, Transitions
  • Left Side Menu for Better Navigation

(back to top)

🤝 Contributing

Contributions, issues, and feature requests are welcome!

(back to top)

⭐️ Show your support

If you like this project, give it a start

(back to top)

🙏 Acknowledgements

The original design idea is inspired from one of Microverse's capstone projects

(back to top)

❓ FAQ (OPTIONAL)

  • How do I add a new category?

    • To add a new category, navigate to the "Add a new category" page, fill out the form with the required information, and click "Save".
  • How do I add a new transaction?

    • To add a new transaction, navigate to the "Add a new transaction" page, fill out the form with the required information, and click "Save".

(back to top)

📝 License

This project is MIT licensed.

(back to top)