Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ruby on Rails capstone project - Budget app #1

Merged
merged 41 commits into from
Oct 18, 2023
Merged

Conversation

batoolfatima2135
Copy link
Owner

@batoolfatima2135 batoolfatima2135 commented Oct 18, 2023

In this branch, I have created a Ruby on Rails application that allows the user to:

  • register and log in, so that the data is private to them.
  • introduce new transactions associated with a category.
  • see the money spent on each category.

Design

Interactions

  • Splash screen

    • A simple page with the name of your app (yes, you need to choose one), and links to the sign up and log in pages.
  • Sign up and log in pages

    • The user can register in the app with full name, email, and password (all mandatory).
    • The user can log into the app using email and password.
    • If the user is not logged in, they can't access pages that require the user to be logged in (all the pages described below).
  • Home page (categories page)

    • When the user logs in, they are presented with the categories page.
    • For each category, the user can see their name, icon and the total amount of all the transactions that belongs to that category.
    • When the user clicks (or taps) on a category item, the application navigates to the transactions page for that category.
    • There is a button "add a new category" at the bottom that brings the user to the page to create a new category.
  • Transactions page

    • For a given category, the list of transactions is presented, ordered by the most recent.
    • At the top of the page the user could see the total amount for the category (sum of all of the amounts of the transactions in that category).
    • There is a button "add a new transaction" at the bottom that brings the user to the page to create a new transaction.
    • When the user clicks on the "Back" button (<), the user navigates to the home page.
  • "Add a new category" page

    • The user fills out a form to create a new category, indicating their name and icon (both mandatory).
    • The user clicks (or taps) the "Save" button to create the new category, and is taken to the home page on success.
    • When the user clicks on the "Back" button (<), the user navigates to the home page.
  • "Add a new transaction" page

    • The user fills out a form to create a new transaction with:
      • name (mandatory)
      • amount (mandatory)
      • categories (mandatory at least one)
    • The user click (or taps) the "Save" button to create the new transaction, and is taken to the transactions page for that category.
    • When the user clicks on the "Back" button (<), the user navigates to the transactions page for that category.

Testing requirements

  • Created unit and integration tests for all the most important components.

Technical requirements

  • Used Postgres as a database.
  • Used devise for authentication.
  • Validated all user input to make sure that anyone with bad intentions cannot compromise app.
  • Used a view template engine .erb.
  • The project is deployed and accessible online.
  • Schema reflects the following structure:
erd_diagram

Live Demo
Presentation

Copy link

@ShadyShawkat ShadyShawkat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @batoolfatima2135,

Your project is complete! There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

To Highlight

  • Correct use of GitFlow ✔️
  • Descriptive commit messages ✔️
  • Professional looking pull request ✔️
  • Your readme looks professional ✔️

Image

Cheers and Happy coding!👏👏👏

Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.


As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

@batoolfatima2135 batoolfatima2135 merged commit d868d76 into dev Oct 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants