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

Budget App (1.0.0) #13

Merged
merged 128 commits into from
Nov 23, 2023
Merged

Budget App (1.0.0) #13

merged 128 commits into from
Nov 23, 2023

Conversation

Zilola-Nazarova
Copy link
Owner

@Zilola-Nazarova Zilola-Nazarova commented Nov 23, 2023

Hello and welcome to "SmartPocket"

In this project, I created a SmartPocket app that keeps track of all your expenses associated with categories.

It allows you to:

  • create new transactions in order to keep track of your expenses
  • update/delete existing transactions
  • create new categories in order to classify your expenses by categories
  • see the calculated total amount of expenses per category
  • update/delete existing categories

General requirements:

  • there are no linter errors
  • correct Gitflow is used
  • work is documented in a professional way

Project requirements:

The project is deployed and accessible online.

I followed the design guidelines from SnapScan (Colors, Typography, Layout). I gave appropriate credit to the author in the Acknowledgements section of README.

I created unit, request and integration tests for all the most important components of the app.

User input is always validated to make sure that anyone with bad intentions cannot compromise the app.

Presentation: https://drive.google.com/file/d/15PRIRaL0HMnhjX8lCclfmoLDdjb2kCEq/view?usp=sharing

Splash screen

A simple page with the name of the app, and links to the sign up and log in pages (built with Devise).

Sign up and login pages

You are able to register in the app with your full name, email and password.
You can log into the app using email and password.
You can't access other pages unless you are logged in.

Home page (categories page)

When you log in, you are presented with the categories page.
For each category, you can see their name, icon and the total amount of all the transactions that belong to that category.
Whn you click on a category item, the application navigates to the transactions page for that category.
There is a button "add category" at the bottom that brings you 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 bottom of the page, you can see the total amount for the category.
There is a button "add transaction" at the bottom that brings you to the page to create a new transaction.
When you click on the "Back" button (<), you navigate to the home page.
Additional features:

  • if the category is empty (has no associated transactions), you will see a 'Delete' button that will delete this category
  • if you click on the category item, you will navigate to the page to edit this category
  • if you click on the transaction item, you will navigate to the Transaction Details page, where you can edit/delete this transaction

"Add a new category" page

You can fill out a form to create a new category, indicating their name and icon (both mandatory).
When you click the "Save" button to create the new category, you are taken to the home page on success.
When you click on the "Back" button (<), you navigate to the home page.

"Add a new transaction" page

You can fill out a form to create a new transaction with:

  • name (mandatory)
  • amount (mandatory)
  • categories (mandatory at least one)
    When you click the "Save" button to create a new transaction, you are taken to the transactions page for that category.
    When you click on the "Back" button (<), you navigate to the transactions page for that category.

…y and index for each table as required by UML diagram
…sts cases as they will be added in future branches)
…, Style/BlockComments and Layout/CommentIndentation
Copy link

@danmainah danmainah left a comment

Choose a reason for hiding this comment

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

Hi @Zilola-Nazarova ,

Good job so far!
There are some issues that you still need to work on to go to the next project but you are almost there!

Highlights

✔️ Used Devise to authenticate the users and ensure the login and registration page match the design given.
✔️ Added THE Group and Purchases pages to ensure users can add and delete new groups and purchases, also enable them to edit purchases.
✔️ Added unit and integration tests and esnure all tests are passing

Required Changes ♻️

  • @Zilola-Nazarova Kindly consider adding a presentation for your project it's part of the project requirement, below is the requirement for the presentation
    image

Check the comments under the review.

Optional suggestions

Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.

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.

Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.


_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.

app/views/devise/registrations/new.html.erb Outdated Show resolved Hide resolved
app/views/purchases/index.html.erb Outdated Show resolved Hide resolved
config/routes.rb Outdated Show resolved Hide resolved
app/controllers/purchases_controller.rb Show resolved Hide resolved
app/controllers/groups_controller.rb Show resolved Hide resolved
@Zilola-Nazarova
Copy link
Owner Author

Thank you @danmainah for your review, I see you reviewed it thoroughly and I really appreciate it 🙏🏻
I find your suggestions very useful, especially concerning strong parameters and specifying routes 👍🏻

Copy link

@thecodechaser thecodechaser left a comment

Choose a reason for hiding this comment

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

STATUS: APPROVED 🟢

Hi @Zilola-Nazarova👋,

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

To Highlight 🎉

  • Nice UI design. ✔️
  • Highly organized code. ✔️
  • Gitflow is followed. ✔️
  • Professional README file. ✔️
  • No linter errors. ✔️
  • PR has a good title and summary. ✔️

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.

@Zilola-Nazarova Zilola-Nazarova merged commit 4c70fb8 into dev Nov 23, 2023
3 checks passed
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.

3 participants