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

Merged
merged 69 commits into from
Apr 29, 2023
Merged

Budget app #1

merged 69 commits into from
Apr 29, 2023

Conversation

codehass
Copy link
Owner

Budget app pull request:

  • 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 should be able to 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

  • Create unit and integration tests for all the most important components of your RoR application.

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 @codehass,

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!

To Highlight

  • All linters are passing ✔️
  • Descriptive commit messages ✔️
  • Professional looking pull request ✔️

Image

Required Changes ♻️

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.

README.md Outdated
Comment on lines 155 to 157

I would like to thank Microverse for providing us with reading materials that aided us to during the project development
Copy link

@ShadyShawkat ShadyShawkat Apr 28, 2023

Choose a reason for hiding this comment

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

  • Please make sure to give appropriate credit to the author of the original design, as per this requirement.

config/routes.rb Outdated
Comment on lines 1 to 20
Rails.application.routes.draw do
devise_for :users

devise_scope :user do
authenticated :user do
root 'groups#index', as: :authenticated_root
end

unauthenticated do
root 'users#splash', as: :unauthenticated_root
end
end

resources :users do
resources :groups, only: [:home, :show, :new, :create, :destroy]
end

resources :entities, only: [:new, :create]

end
Copy link

@ShadyShawkat ShadyShawkat Apr 28, 2023

Choose a reason for hiding this comment

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

  • Please make sure to implement a "Splash Screen" and set it as a root route, as per this requirement. There're guidelines for the style of the "Splash Screen" that you can follow.

image

Comment on lines 1 to 38
<header class="navbar">
<h2>Sign up</h2>
</header>

<div class= 'form sign-up'>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= render "devise/shared/error_messages", resource: resource %>

<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
</div>

<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
</div>

<div class="field password-field">
<%= f.label :password %>
<% if @minimum_password_length %>
<em>(<%= @minimum_password_length %> characters minimum)</em>
<% end %>
<%= f.password_field :password, autocomplete: "new-password" %>
</div>

<div class="field">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation, autocomplete: "new-password" %>
</div>

<div class="actions">
<%= f.submit "Sign up", class: "save-btn"%>
</div>
<% end %>

<%= render "devise/shared/links" %>
</div>
Copy link

@ShadyShawkat ShadyShawkat Apr 28, 2023

Choose a reason for hiding this comment

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

  • Please make sure to stick to the original design as much as possible, which includes:
    • Using the same typography and font style as per this requirement.
    • Changing the positioning of the "Submit" button to be in the nav which is then named "Next".
    • Editing the style of the inputs to look more like the original template.
    • Adding a "left arrow" icon to the left part of the nav which acts as a back button to match the given template.
    • Using the same color in the nav and the text color as well, as per this requirement.
    • Changing the background of the page to match the one in the design.

(This goes for all other forms as well even if they don't have a direct style guideline, as per this requirement)

Your design Original design
image image

Comment on lines 19 to 21
<div class="new-category" >
<%= link_to 'Add a new category', new_user_group_path(current_user) %>
</div>
Copy link

@ShadyShawkat ShadyShawkat Apr 28, 2023

Choose a reason for hiding this comment

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

  • Please adjust the styling of this button to look more like the original design.
  • The same goes for the "Add a new transaction" button.
Your design Original design
image image

Comment on lines 19 to 20
<div class="new-category" >
<%= link_to 'Add a new category', new_user_group_path(current_user) %>
Copy link

@ShadyShawkat ShadyShawkat Apr 28, 2023

Choose a reason for hiding this comment

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

  • Kindly use the same color of the design for the button, as you have the colors in the design.

image

Copy link

@uwadonat uwadonat left a comment

Choose a reason for hiding this comment

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

Hi @codehass,

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

Congratulations! 🎉

Highlights

  • Amazing design ✔️
  • Professional readme file ✔️
  • Good commit history ✔️
    approval1

Status: Approved ✔️✔️✔️

Cheers and Happy coding!👏👏👏

Feel free to leave any questions or comments in the PR thread if something is not 100%.
Please, remember to tag me @uwadonat 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.

@codehass codehass merged commit 5c6ce8f into dev Apr 29, 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.

None yet

3 participants