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 V 1.0 #23

Merged
merged 162 commits into from
Oct 29, 2023
Merged

Budget App V 1.0 #23

merged 162 commits into from
Oct 29, 2023

Conversation

Diegogagan2587
Copy link
Owner

@Diegogagan2587 Diegogagan2587 commented Oct 29, 2023

Implemented Features:

Dear code reviewer: If you would like to review my project by Branches you can do it on the closed pull request section where you can find a brief description for what I've done in each branch.

Project Budget-app

  • Set up environment

    • Create a new project with PostgreSQL as a database and do not use the normal testing framework since you would use RSpec
    • Install Linters
    • Install Rspec for testing
    • Install capybara
    • Install Devise for authentication
  • Validate all user input(forms) to make sure that anyone with bad intentions cannot compromise your app

  • Data is private for current_user

  • Set up models according to the ERD Diagram.

    • Create User model with the next properties
      • name
      • has many Groups
      • has many Entity
      • Include validations test
    • Create Entity model with next properties
      • AuthorId
      • Name
      • Amount
      • CreatedAt
      • belongs to User
      • Include Validation tests
    • Group: include the next properties
      • Name
      • Icon
      • Created at
      • belongs to User
      • Include validation test
    • Make sure you have implemented validation tests for all models
  • Implement the authentication and authorization.(sing up and log in pages)

    • User should be able to register
      • include full name
      • email
      • password
    • user can log in with email and password
      • After login they should be redirected to the Home page (categories page)
    • If the user is not logged in, they cannot access other pages than authentication and splash screen.
  • Create the Page to add a category

  • Splash screen

    • Choose one
    • Include the name of the app
    • include Links to the sign-up and login pages
  • Home Page (categories page)

    • Requires login before accessing
    • For each category the user should see there:
      • name
      • icon
      • total amount of all the transactions that belong to that category(the current one)
    • display the money spent on each category?? Verify this one
    • When the user clicks or taps on a category item, the application navigates to the transactions pages for that category(the current one)
    • There is a button "Add a new category" at the bottom that brings the user to the page to create a new category
  • Add a new Transaction page

    • add transaction associated with a category
    • The user fills out a form to create a new transaction with:
      • name (mandatory)
      • amount (mandatory)
      • categories (mandatory at least one)
    • The user clicks (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
  • transactions page(will display all transactions)

    • For a given category, the list of transactions is presented in order 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 users fill 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
  • Fix N+1 problems

  • Implement Styling

    • Install tailwind for this project, check guide for tailwind for ruby on rails
    • Implement Layout(compositiona and space between elemnts)
    • Implement Colors
      • Main color = blue: #3778c2 rgb: (55, 120, 194) taiilwind(closeste one blue-500)
      • Second color = green #5fb523 , in tailwind coudl be green-600
      • text: #434b54, in tailwind coul be: slate-600
    • Implement Typography
      • Install Next fonts
        • Font similar to Proxima Nova Bold
        • Font similar to Proxima Nova Light
      • Apply right font size
      • Apply the right font weight.
  • Review Tests and implement any pending test

    • Request Test
      • splash_conttroller
      • groups_controller
      • entities_controller
    • Integration test
      • Implemente splash_screen_spec.rb
      • Home Page
      • Transactions Page(for a given category)
      • Add a new category page
  • Deploy your Project

  • Document Your Project

    • record a video presenting the features of the project and include:
      • description of the project
      • demo of the project features
      • Highlight some interesting piece of code or something you build that you are very proud of
    • Add a readme for your project.
      • Give Cretis to the designer

@Diegogagan2587 Diegogagan2587 self-assigned this Oct 29, 2023
@Diegogagan2587 Diegogagan2587 added the enhancement New feature or request label Oct 29, 2023
Copy link

@mwanawabangona mwanawabangona left a comment

Choose a reason for hiding this comment

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

Hi @Diegogagan2587

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

Highlights

  • No linter errors ✔️
  • Repo looks professional 💼
  • Solid pull request scroll
  • Good quality commits
  • Good job !! 👏 👏 👏

Optional suggestions

Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.

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.

@Diegogagan2587 Diegogagan2587 merged commit f670bd1 into main Oct 29, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants