Personal budgeting application
BeaverBudgets is a personal finance web app which allows the user to create a categorized budget and enter day-to-day transactions to track spending. The app provides useful information to facilitate financial decision making for the user, including a snapshot of the remaining budget and total expenditures for each category, as well as data visualizations to summarize spending.
This project was submitted to the BeaverHacks Spring 2021 Hackathon.
The code that was submitted without any further modification can be found here.
The application is used to create budgets and assign categories and groups to individual budget transactions. A demonstration of the app can be found in the following youtube video:
- Django: a Python web application framework
- Bootstrap: a Python framework for responsive web styling.
- Plotly: a Python package for visualizing data science models
- SQLite: a lightweight database engine
To get a local copy up and running follow these simple steps.
In order to use Beaver Budgets, you must first have Python and pip installed on your system. If you need assistance installing these prerequisites, see the folowing steps:
-
Python is a programming language. All of this project's code base is written in Python. Download the latest version of Python and install onto your local machine.
-
Pip is the package installer for Python. Once Python is installed, open your local machine's command line and use the following command to utilize Python to install Pip:
python get-pip.py -g
Git is a version control system. In this project, Git is used to clone (copy) the most up-to-date project files from GitHub to your local machine. Download the latest version of git and install on your local machine.
-
Open the command line on your local machine, or a terminal from within your IDE of choice.
-
Enter the following command to use Git to clone this repository to your local machine.
git clone https://github.com/BeaverStacks/BeaverStacks.git
- Enter the following command to create a new virtual environment to install this repository's dependencies.
virtualenv env
- Enter the following command to activate the virtual environment you have just set up. This should shove a little (env) to the left of your command line to show it's working.
env\scripts\activate.bat
- Enter the following command to upgrade Pip to to the latest version.
python.exe -m pip install --upgrade pip
- Enter the following command to use Pip to install this repository's dependencies.
pip install -r requirements.txt
- Change directories into the 'BeaverStacks' folder.
cd BeaverStacks
- Run the final migration to connect all the broken pieced of Django with our updated global_settings.py file:
python manage.py migrate
- And finally, we can run our local server:
python manage.py runserver
Woohoo! Now you can open up http://localhost:8000/BudgetApp/
in your browser to see the website in all its glory. Live it! Breathe it! Welcome to Beaver Budgets!
One you have all the parts installed, you should theoretically be able to open everything back up without so many steps. You should be able to run the following four commands to get back up and running:
virtualenv env
env\scripts\activate.bat
cd BeaverStacks
python manage.py runserver
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Charlie Magill
- Kenneth Street
- Jacob Ogle
- Asa LeHolland: [email protected]
- othneildrew for creating the template README file that was used as the starting point for the README for this project.
The MIT License (MIT)
Copyright (c) 2015 David Leonard
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.