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

Feature/add api endpoints #11

Merged
merged 14 commits into from
Sep 15, 2023
Merged

Feature/add api endpoints #11

merged 14 commits into from
Sep 15, 2023

Conversation

Benawi
Copy link
Owner

@Benawi Benawi commented Sep 15, 2023

Implemented Features

General requirements

Ruby requirements

Project requirements

  • Create an API endpoint to list all posts for a user.
  • Create an API endpoint to list all comments for a user's post.
  • Create an API endpoint to add a comment to a post. Remember that the owner of the comment is the user that makes it; it should not be set by passing a parameter.
  • Your API endpoints should receive JSON and respond JSON as well.

@Benawi Benawi added the enhancement New feature or request label Sep 15, 2023
Copy link

@joskalenda joskalenda left a comment

Choose a reason for hiding this comment

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

STATUS: REQUIRED CHANGES ♻️
Hi @Benawi ,
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

  • [ ]... ✅ Great readme file
  • [ ].. ✅ Green linters
  • [ ].... ✅ Api routes

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 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(@joskalenda) 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.

config/routes.rb Outdated

Choose a reason for hiding this comment

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

  • Nice routes implemented but am not able to log in as the confirmation path has a bug, see this image below to understand more, there is a line in the confirmation controller that prevents it from working, make sure you follow the devise docs for fixing this
1

@Benawi
Copy link
Owner Author

Benawi commented Sep 15, 2023

changes ♻

  • Routing bugs fixed

Copy link

@HAMMAS-SALEEM HAMMAS-SALEEM left a comment

Choose a reason for hiding this comment

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

Required Changes ♻️

Ukhv

Hey @Benawi. @wolterbwambale 👋

Highlights 🥇

✔️ Descriptive PR Title
✔️ Descriptive PR Summary
✔️ Following Gitflow
✔️ Following some requirements
✔️ Great work on fixing the bug previous reviewer find 👍

Good job on implementing some of the requirements, There are some issues that you still need to work on to go to the next project but you are almost there! 😊

Optional

All the changes with optional tags are not crucial enough to prevent you from getting the approval but we highly recommend to students that they should take these changes into consideration.

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.

Comment on lines 7 to 18
def create
@comment = Comment.new(
text: comment_params[:text],
users_id: comment_params[:users_id]
)
if @comment.save
@comment.update_post_comments_counter
render json: @comment, status: :created
else
render json: { errors: @comment.errors.full_messages }, status: :unprocessable_entity
end
end

Choose a reason for hiding this comment

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

  • Great work so far dear but i think there is a problem in your creating the comment api endpoint 😨 Because i cannot create any comment in your app 😨 I can see that you are creating a comment but you didn't include post_id in that comment object 🤔 I don't think you can create a comment without having an post_id 👍

  • It would be nice if you check in the rails console that you don't have any name such as user_id but you have a author_id so far i have observed 🤔 Kindly fix this issue as well 👍 Kindly make your app work as expected 👍

Comment on lines +2 to +5
def index
@posts = Post.all
render json: @posts
end

Choose a reason for hiding this comment

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

image

  • Great work on implementing the post API 👍 but i guess misunderstood the requirement which was to get all the posts for a user means you are supposed to get all the posts of a user which is mentioned in the URL but you are getting posts of all the users at once 🤔 Kindly fix this issue to make your app follow the project requirements 😊

Comment on lines 1 to 6
class Api::CommentsController < ApplicationController
def index
@comments = Comment.all
render json: @comments
end

Choose a reason for hiding this comment

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

image

  • Great work on implementing the comments API 👍 but again same thing here you are supposed to get the comments for that specific post_id which you have in your URL and it is also mentioned in the project requirements 😊

render json: { errors: @comment.errors.full_messages }, status: :unprocessable_entity
end
end

Choose a reason for hiding this comment

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

image

  • It would be nice if you fix the highlihgted link in the Table of Contents to make your readme descriptive and profes

render json: { errors: @comment.errors.full_messages }, status: :unprocessable_entity
end
end

Choose a reason for hiding this comment

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

[OPTIONAL BUT HIGHLY RECOMMENDED]

  • It would be nice if you make your own logo of your name and put that in the readme file at the top to present yourself as a brand in the job market or tech industry to catch the recruiters' eyes 👍

render json: { errors: @comment.errors.full_messages }, status: :unprocessable_entity
end
end

Choose a reason for hiding this comment

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

NOTE FOR SENIOR REVIEWERS

I am making this review as a first review because the senior reviewer allowed me to make this review as a first review because the previous review had a lot of missing things so it would be nice if i make it as a first review 👍

@Benawi
Copy link
Owner Author

Benawi commented Sep 15, 2023

Changes ♻

  • Add load_and_authorize_resource to get user-based comments and posts
  • Add post_Id to comment create method
  • Amend user_id to author_id
  • Update reamefile

Copy link

@joskalenda joskalenda 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 @Benawi , 🥰
Your project is complete! There is nothing else to say other than... it's time to merge it :shipit: Congratulations! 🎉

Highlights

✅ ... Api routes well implemented
✅ ... Green linters


Optional suggestions

Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you 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(@joskalenda) 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.

@Benawi Benawi merged commit a4bfcfe into develop Sep 15, 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.

4 participants