Skip to content

Sophie & Kim - Ride Share Rails#15

Open
steve-messing wants to merge 98 commits intoAda-C14:masterfrom
kimvitug05:master
Open

Sophie & Kim - Ride Share Rails#15
steve-messing wants to merge 98 commits intoAda-C14:masterfrom
kimvitug05:master

Conversation

@steve-messing
Copy link

Assignment Submission: Rideshare Rails

Congratulations! You're submitting your assignment. Please reflect on the assignment with these questions. These questions should be answered by all team members together, not by a single teammate.

Reflection

Prompt Response
Describe the types of entity relationships you set up in your project and why you set up the relationships that way Trips belong to passengers and drivers. both drivers and passengers have many trips.
Describe the role of model validations in your application Model validations ensure that our forms won't accept bad data, and raise errors to the user if they do.
How did your team break up the work to be done? Some work was driver/navigator, and some tasks were split and done individually with regular check-ins. Trello board and branching was helpful.
What features did you choose to prioritize in your project, and what features, if any, did you have to set aside to meet the deadline? Model testing could use more work. We prioritized user interface clarity and proper routing and error handling.
What was one thing that your team collectively gained more clarity on after completing this assignment? More clarity on active record relationships. Generally how to put together a complex rails project. We'd like to know more about what rails is doing under the hood beyond simply calling it "rails magic".
What are two discussion points that you and your team discussed when giving/receiving feedback from each other that you would be willing to share? Great organization and laid back supportive vibe kept us afloat during an insanely stressful week.
Optional: What is the URL of your deployed Heroku app?

steve-messing and others added 30 commits November 2, 2020 12:50
Copy link

@kaidamasaki kaidamasaki left a comment

Choose a reason for hiding this comment

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

Good job! While this was yellow overall your solution was solid. The only thing that has me at all worried here is that you didn't do much model testing so I'm not totally confident you've mastered them. Keep them in mind as something to practice going forward.

Remember you can always check the feedback.md file to see what we're going to grade on!

Aside from that though your application code was clear and clean and your styling was attractive and functional.

Rideshare Rails

Major Learning Goals/Code Review

Criteria yes/no, and optionally any details/lines of code to reference
Practices collaborating with git, and all team members contribute git commits and best git practices ✔️
Demonstrates understanding of relationships by giving accurate answers to the reflection questions and appropriate code in the models ✔️
Logic to calculate a driver's average rating and total earnings is located in the model, and it has unit tests ✔️
There are reasonable tests to test the validation requirements for all models
There are reasonable tests to test the relationship requirements for all models
There are reasonable tests to test the controller actions for all controllers
The app has an attractive and usable user interface ✔️
The app uses/is compatible with database seeds ✔️
Router code is clean: uses resources and RESTful routes ✔️

Functional Requirements

Functional Requirement yes/no
On the passenger's details page, I want to be able to see total charged, list of trips, a link to edit, and delete Trips are linked, not embedded.
When adding a new passenger, I want to see errors and validations that show that a passenger must be provided a name and a phone number, so that I cannot make a passenger without name or phone number ✔️
On the passenger's details page, I can create a new trip for this passenger, with an assigned driver and no rating ✔️
On the driver's details page, I want to be able to see total earnings, average rating, list of trips, a link to edit, and delete ✔️
When adding a new driver, I want to see errors and validations that show that a driver must be provided a name and VIN, so that I cannot make a driver without name or VIN ✔️
On the trip's detail page, I want to be able to view details, assign a rating, navigate to the trip's passenger, driver, a link to edit, and delete ✔️

Overall Feedback

Overall Feedback Criteria yes/no
Green (Meets/Exceeds Standards) 8+ in Code Review && 5+ in Functional Requirements
Yellow (Approaches Standards) 5+ in Code Review && 4+ in Functional Requirements, or the instructor judges that this project needs special attention ✔️
Red (Not at Standard) 0-4 in Code Review or 0-3 in Functional Reqs, or assignment is breaking/doesn’t run with less than 5 minutes of debugging, or the instructor judges that this project needs special attention

Code Style Bonus Awards

Was the code particularly impressive in code style for any of these reasons (or more...?)

Quality Yes?
Perfect Indentation
Elegant/Clever
Descriptive/Readable
Concise
Logical/Organized

// They will automatically be included in application.css.
// You can use Sass (SCSS) here: https://sass-lang.com/

$table_width: 1000px;

Choose a reason for hiding this comment

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

CSS variables, fancy! 😃

redirect_to driver_path(@driver)
return
else
render :new, status: :bad_request

Choose a reason for hiding this comment

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

Good job rendering with status. 😃

Comment on lines +33 to +36
def find_by_id
driver_id = params[:id].to_i
driver = Driver.find_by(id: driver_id)
end

Choose a reason for hiding this comment

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

This might have made more sense as a method on Driver.

DRYing this sort of thing up is what controller filters are for though so good instincts!

end

def num_of_rides
return self.trips.sum { |trip| trip }

Choose a reason for hiding this comment

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

You can use size here instead of sum:

Suggested change
return self.trips.sum { |trip| trip }
return self.trips.size

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