Skip to content

A full-stack financial planner where you can track your checkbook and set goals.

License

Notifications You must be signed in to change notification settings

StephenTotten/financial-planner

Repository files navigation

financial-planner

Budget Buddy - Your Personal Financial Tracker

Introduction Budget Buddy is a simple and efficient financial tracker that helps you keep track of your spending and income. Whether you're a student, a freelancer, or a small business owner, Budget Buddy makes it easy for you to manage your finances in one place. With our user-friendly interface and dynamic features, you can get a clear overview of your financial status and make informed decisions about your finances.

Key Features

Easy transaction tracking: Quickly and easily add transactions, categorize them, and see a summary of your spending and income. Dynamic data visualization: Budget Buddy displays your transactions in a clear and intuitive way, making it easy to track your finances over time. Secure access: Your financial data is protected by authentication and authorization, ensuring that only you have access to your information.

Technology Stack

Budget Buddy was built using the following technologies:

HTML CSS JavaScript Handlebars templates MySQL Sequelize ORM Node.js Express.js Heroku for deployment Getting Started Getting started with Budget Buddy is simple. All you have to do is sign up, add your transactions, and start tracking your finances. So what are you waiting for? Get started today and take control of your finances with Budget Buddy!

Contributing

We welcome contributions to Budget Buddy. If you have any ideas or suggestions for new features or bug fixes, please feel free to open an issue or submit a pull request.

License Budget Buddy is licensed under the [_______Insert License Here].

Contact For any questions or concerns, please contact [__________,Insert Contact Information Here].

Elevator pitch:

"Think managing your finances is about as fun as a root canal? Say hello to Budget Buddy, your financial sidekick who's got your back. Whether you're a student, freelancer, or small business owner, with Budget Buddy, you can view all your transactions in one place, categorize them, and gain a clear understanding of your financial situation.

Say goodbye to messy bank statements and complicated spreadsheets. With a user-friendly interface that's easier to navigate than a Tinder profile and fun features that make saving feel like a game, you'll be the boss of your finances in no time. So go ahead, treat yourself to that latte without a second thought. Budget Buddy's got you covered.

Budget Buddy isn't just a simple budgeting app. It's a powerful financial tool that helps you understand your spending habits and make positive changes to improve your financial state."

Budget Buddy - Your Personal Financial Tracker

Introduction Budget Buddy is a simple and efficient financial tracker that helps you keep track of your spending and income. Whether you're a student, a freelancer, or a small business owner, Budget Buddy makes it easy for you to manage your finances in one place. With our user-friendly interface and dynamic features, you can get a clear overview of your financial status and make informed decisions about your finances.

Key Features

Easy transaction tracking: Quickly and easily add transactions, categorize them, and see a summary of your spending and income. Dynamic data visualization: Budget Buddy displays your transactions in a clear and intuitive way, making it easy to track your finances over time. Secure access: Your financial data is protected by authentication and authorization, ensuring that only you have access to your information.

Technology Stack

Budget Buddy was built using the following technologies:

HTML CSS JavaScript Handlebars templates MySQL Sequelize ORM Node.js Express.js Heroku for deployment Getting Started Getting started with Budget Buddy is simple. All you have to do is sign up, add your transactions, and start tracking your finances. So what are you waiting for? Get started today and take control of your finances with Budget Buddy!

Contributing

We welcome contributions to Budget Buddy. If you have any ideas or suggestions for new features or bug fixes, please feel free to open an issue or submit a pull request.

License Budget Buddy is licensed under the [_______Insert License Here].

Contact For any questions or concerns, please contact [__________,Insert Contact Information Here].

Elevator pitch:

"Think managing your finances is about as fun as a root canal? Say hello to Budget Buddy, your financial sidekick who's got your back. Whether you're a student, freelancer, or small business owner, with Budget Buddy, you can view all your transactions in one place, categorize them, and gain a clear understanding of your financial situation.

Say goodbye to messy bank statements and complicated spreadsheets. With a user-friendly interface that's easier to navigate than a Tinder profile and fun features that make saving feel like a game, you'll be the boss of your finances in no time. So go ahead, treat yourself to that latte without a second thought. Budget Buddy's got you covered.

Budget Buddy isn't just a simple budgeting app. It's a powerful financial tool that helps you understand your spending habits and make positive changes to improve your financial state."

Acceptance Criteria

WHEN I visit the site for the first time

THEN I am presented with [_______, the homepage], which includes [________]; [navigation links for the homepage and the dashboard; and the option to log in]

WHEN I click on the [_______,homepage option]

THEN I am taken to the homepage

WHEN I click on any other links in the navigation

THEN I am prompted to either sign up or sign in

WHEN I choose to [_______,sign up]

THEN I am prompted to create a username and password

WHEN I click on the [______,sign-up button]

THEN my user credentials are saved and I am logged into the site

WHEN I revisit the site at a later time and choose to sign in

THEN I am prompted to enter my username and password

WHEN I am signed in to the site

THEN I see [_______, navigation links for the homepage, the dashboard, and the option to log out]

WHEN I click on the homepage option in the navigation

THEN I am taken to the homepage and presented with [________ ]

WHEN I click on [______]

THEN I am presented with the post title, contents, post creator’s username, and date created for that post and have the option to leave a comment

WHEN I enter [______] and click on the submit button while signed in

THEN the [] is saved and the [] is updated to display the comment, the comment creator’s username, and the date created

WHEN I click on the [, dashboard] option in the [, navigation]

THEN I am taken to the [, dashboard] and presented with [,the option] to [_____ ]

WHEN I click on the button to [________, add a new [_______]

THEN I am prompted to enter [, contents for my [ ]

WHEN I click on the button to create a new [_______ ]

THEN the [_______ ] title and contents of [, my post are saved and I am taken back to [, an updated dashboard with my new [_____ ,post

WHEN I click on one of my [________, existing posts in the dashboard

THEN I am able to delete or update my [_________ ,post and taken back to an updated dashboard

WHEN I click on the [________ ,logout option in the navigation

THEN I am [_________ ,signed out of the site

WHEN I am idle on the site for more than a [_________, set time

THEN I am able to [______ ,view comments but I am prompted to log in again before I can add, update, or delete comments

User Stories

  • As a user, I want to [__________,

  • As a user, I want to be able to [__________, create an account.

  • As a registered user, I want to [_______ ,.

Acceptance Criteria

  • It's done when the / homepage route renders a list of all projects from the database.

  • It's done when the /project/:id route renders an individual project's details based on the route parameter id.

  • It's done when the /login route renders a form to log in and a form to create a new account.

  • It's done when an existing user can enter their credentials on the login page to create a session on the server.

  • It's done when a new user can create an account on the login page and then be immediately logged in with a session.

  • It's done when the /profile route renders the logged-in user's projects and a form to create a new project.

  • It's done when only a logged in user can visit the /profile route.

  • It's done when a logged in user is redirected to /profile when they try to visit /login again.

  • It's done when a user on the profile page can use the form to create a new project in the database.

  • It's done when a user on the profile page can select a "Delete" button to remove their project from the database.

  • It's done when a logged-in user can select a "Logout" button to remove their session.

  • It's done when the session for a logged-in user expires after a set time.

  • It's done when the API routes to create and delete posts are protected from non logged-in users.

  • It's done when the code is organized using MVC architecture.

  • It's done when the views are rendered with Handlebars.js templates.

SWOT (Strengths, Weaknesses, Opportunities, and Threats) analysis

Strengths:

User-friendly interface Dynamic data visualization Efficient database integration with Sequelize ORM Security features for authentication and authorization

Weaknesses:

Low brand recognition and awareness Competition from established financial tracking apps Limited marketing and promotional resources

Opportunities:

Growing demand for financial tracking apps among young adults and college students Room for innovation and differentiation in the market Potential for partnerships and collaborations in finance and tech industries

Threats:

Competition from established financial tracking apps Technological advancements by competitors Changes in finance and tech regulations and policies.

Project Outline

  • Set up the project structure and create the necessary files, action items, roles for the project, such as index.html, app.js, style.css, and our Handlebars templates.

  • Use HTML, CSS, and JavaScript to create the user interface for the financial tracker. This may include forms for adding transactions, tables or charts for displaying the data, and other UI elements. Use Handlebars templates to dynamically render the information from the database.

  • Integrate a database (MySQL) to store the transactions. Use the Sequelize ORM to interact with the database for structure and efficiency.

  • Use Node.js and Express.js to create the RESTful API for your financial tracker. This will allow us to receive and send data from the client to the server and vice versa.

  • Implement the functionality for adding transactions, categorizing them, and displaying a summary of the spending and income.

  • Add features for authentication and authorization to ensure that only the user has access to their data.

  • Test and debug our app to ensure that it works as expected and fix any issues that arise.

  • Deploy Budget Buddy to Heroku hosting platform, to be accessed by users.

  • Create documentation for Budget Buddy including a README file, to explain how to use it and the technologies that were used to build it.

Process explanation for our budget tracker "Budget Buddy":

Process:

The budget tracker project was executed using an agile methodology with daily stand-up meetings and daily retrospectives. The project was divided into three main stages: preparation, development, and deployment.

Technologies used:

Node.js and Express.js for the back-end API Handlebars.js as the templating engine MySQL and the Sequelize ORM for the database HTML, CSS, and JavaScript for the front-end Heroku for deployment GIT Hub for Repo, breakdown of tasks and roles:

Project Preparation:

Defined the project scope and MVP, set up development environment and tools, and created the project repository and issue tracking using GIT Project tool. The team lead _____Stephen Totten was responsible for this stage.

Database Design: Designed the database schema and implemented the database models and migrations. The database specialist _______ was responsible for this stage.

Back-end Development: Developed the RESTful API, implemented CRUD operations for goals and expenses, and implemented authentication and sensitive information protection. The back-end developer _______ was responsible for this stage.

Front-end Development: Designed and implemented the UI, and tested and refined the front-end functionality. The front-end developers _______ was responsible for this stage.

Deployment: Deployed the application to Heroku, tested deployment, and ensured data persistence. The deployment specialist _____ was responsible for this stage.

Quality Assurance: Tested and refined the application, and addressed any bugs or performance issues. The QA specialist _____ was responsible for this stage.

Documentation: Wrote the README, documented the code, and documented any remaining tasks or improvements. The documentation specialist _____ was responsible for this stage.

Challenges:

Integrating the front-end and back-end: The team faced challenges in integrating the front-end and back-end, as the data needed to be passed between the two seamlessly. Ensuring responsive design: The team faced challenges in ensuring that the application was responsive and accessible on different screen sizes and devices. Successes:

Completion of MVP:

The team successfully completed the MVP and delivered a functional budget tracker application. User-friendly UI: The team received positive feedback from users about the user-friendly and visually appealing UI.

High performance: The application was tested and performed well, with fast load times and responsive user interactions.

Overall, the budget tracker project was a success and the team learned valuable skills and best practices in building full-stack applications.

About

A full-stack financial planner where you can track your checkbook and set goals.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •