Skip to content

Conversation

@Ol-create
Copy link
Owner

Hi there 👋,

Project requirements

Design

  • You should follow these design guidelines, including:
    • Colors.
    • Typography: font face, size and weight.
    • Layout: composition and space between elements.

NOTE: In these design guidelines there are several UIs that you won't need for this exercise; also, some pages are not given a design and you will create them following the design guidelines of the other pages.

Original design idea by Gregoire Vella on Behance.

The Creative Commons license of the design requires that you give appropriate credit to the author. Therefore, you must do it in the README of your project.

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 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 (catagories 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 click (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 transation, 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.

Technical requirements

  • You should use Postgres as your database.
  • You should use devise for authentication.
  • You should validate all user input to make sure that anyone with bad intentions cannot compromise your app.
  • You can use a view template engine of your choice (.erb, .slim, .haml).
  • The project should be deployed and accessible online.
  • Your database schema should reflect the following structure:

NOTE: do not change column names visible in the diagram. You need to change the "Entity" name according to the theme you have chosen for your project (please note: "Transaction" is a name already used by ActiveRecord, so using it as a name for your model and table will result in an error).

ERD diagram

Copy link

@danielufeli danielufeli left a comment

Choose a reason for hiding this comment

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

Hi @Ol-create ,

Good job so far!
There are some issues that you still need to work on to prepare your project for the final evaluation but you are almost there!

Highlights

  • Nice commits messages✔️
  • Descriptive PR ✔️
  • Clean Code✔️
  • Clean Design ✔️

Suggested changes

  • Nice work done on your project, as a requirement kindly record a 5-minute video presenting the features of the project, the video should contain a clear and objective description of your project in professional English, a demo of your project, highlighting all the project feature, a highlight about a piece of the code you find interesting or are proud of making.

Check the comments under the review.

You can use as many of my suggestions as you want. If there is anything you would like to skip - feel free to do that. 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, 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.

README.md Outdated

## 🚀 Live Demo <a name="live-demo"></a>

> [Live Demo Link](https://blog-app-rails.herokuapp.com/)

Choose a reason for hiding this comment

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

  • Nice work deploying your app to Heroku, kindly check the demo link redirects to the default Heroku page.

Copy link
Owner Author

Choose a reason for hiding this comment

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

Hello there 👋,
I have some technical issues with my machine.
This affect the quality of the presentation. I will fix the problem later and redo the presentation, thanks.

Copy link

@rotimiazeez rotimiazeez left a comment

Choose a reason for hiding this comment

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

Hi @Ol-create 👏🏽,

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

Highlights

Optional suggestions

Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you consider them as they can improve your code. Some of them were simply missed by the previous reviewer, and addressing them will 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.
Remember to tag me(@rotimiazeez) 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 the code review was unfair, you can request a second opinion using this form.

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.

4 participants