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

Wiki / Proposal #1

Open
84 of 86 tasks
ajansel opened this issue Jun 4, 2018 · 0 comments
Open
84 of 86 tasks

Wiki / Proposal #1

ajansel opened this issue Jun 4, 2018 · 0 comments
Assignees

Comments

@ajansel
Copy link
Collaborator

ajansel commented Jun 4, 2018

Wiki Page Home

  • Is the first page you see upon entering the wiki
  • Contains a welcome message
  • Contains a link/placeholder for a link to the live page
  • All links in the right sidebar should contain each wiki page and link to the correct page
  • Correctly formatted
    • each wiki page is listed in bullet points
    • all links route the correct page

Comments:

  • I would change HipsterCamp Heroku to HipsterCamp Live Link
  • Otherwise, looks good!

MVP List

  • Should have 7 MVPs.

    • 3 of those are User Auth, Heroku, and Production README.
    • The other 4 are from the MVP List or they have clarified them with you
  • Contains a description sentence of the app

  • At least one CRUD feature, which states what CRUD operations are planned (creation, reading, updating, deletion)

  • Estimates how long it will take the code each MVP

  • Each App specific MVP needs the following bullet points are added:

    • Adequate styling
    • Smooth, bug-free navigation
    • Seeded with info to demonstrate this feature
  • Correctly formatted

    • MVPs are listed in an ordered list
    • Each MVP is broken down into bullet points

Comments:

  • The 4 MVPs themselves look good to go, but it should be styled very similarly to how we styled BlueBird
    • Correct the styling and add the more detailed explanation / styling for everything and then you should be in good shape

Database Schema

  • Contains correct datatypes

  • Contains appropriate constraints/details

    • primary key
    • not null
    • unique
    • indexed
    • foreign key
  • Contains bullet points after the table that state which foreign keys will reference to which table, or references to the associations which will be made

  • Correctly formatted

    • schema is written in a table format
    • the table's name are back_ticked
    • the table header column names are bolded
    • columns names are lowercased and snaked_cased and back_ticked

Comments:

  • In your listings table, is the listing column basically the title? If so, you'll probably want that to be unique.
  • I think you'll also want to put an index on start_date, end_date, and num_guests for your bookings table and check_in and check_out for your listings table so that we can more quickly search for these fields (as well as anything else that you feel you will want the user to be able to search for)
  • Please see the unchecked checkboxes above as well
  • You should create a listing_activities table that is a joins table between listings and activities. That way your activities only have an id and a activity since it is a many to many relationship

Routes

  • Routes accurately reflect MVPs and Component Hierarchy
  • Covers the frontend functionality of the site through routes that match to the wireframes
  • Contains the following sections: HTML, API Endpoints(Backend), and Frontend Routes
  • Each route has a description
  • API Endpoint routes contains wildcard variables written in snake_case
  • Frontend routes contains wildcard variables written in camelCase
  • Routes does not contain superfluous routes
  • Have API routes that will allow the front end to get all info it needs and does not have unneeded routes:
    • probably doesn't need a GET likes api endpoint bc that info comes through the post show
  • Correctly formatted
    • Routes are displayed with inline coding text (backticks)

Comments:

  • I don't think you'll need separate routes for the reviews. From their site it looks like the reviews are just at the bottom of the listing show page and the review form would likely just be at the bottom of the reivews
  • You should add a myBookings route or something along those lines that show upcoming and past bookings for a particular user
  • You need an api route for: post, create, update, and delete for listings as well as a get request for all of a user's bookings (basically an index particularly for the current user)
  • Add a section for HTML routes and add a get request to the static_pages_controller that renders your root
  • Make sure to change the api routes that are nested to listing_id rather than id for the wildcard variables

Sample State

  • State shape is flat!
  • State's keys are camelCased
  • All keys within the values in the state are accessible in the schema (Ex: if you create a imgUrl key in the state, make sure your database also has a column that contains an img_url)
  • Correctly formatted
    • Sample state is rendered with triple backticks, and the language ```javascript...```). This will display the state as a code block instead of a giant line of text
    • Top level slices
      • entities
      • session
      • errors (here or in ui)
      • ui (if needed)
    • Should NOT have nested slices, aka comments inside of posts
      • Some info from other tables is ok, for instance:
        • the author username and imageurl for a post. basically any info that the user can't change
        • like count and a boolean on whether the user likes the post instead of a likes slice

Comments:

  • As you realized and I mentioned in the schema section above, you should have a joins table for listing_activites
  • Let's talk some more about the joins table tomorrow in our 1-on-1

Component Hierarchy with Wireframes

  • All routes listed in the routes wiki page is also listed in the component hierarchy
  • Each component, if necessary, has route, state, and other components it renders example
  • Necessary components are wrapped in a container
  • Correctly formatted
    • Bullet point hierarchy
    • Component names are displayed with inline coding text (backticks)
  • Wireframes included
    • Every component listed in the component hierarchy wiki page has at least one wireframe
    • Every MVPs listed on the MVP wiki page has at least one wireframe
    • Every route listed on the route wiki page has at least one wireframe
    • Contains Containers
    • Contains multiple Index/List
    • Contains multiple IndexItems/ListItems
    • Correctly formatted
      • Wireframe images display on the page
      • Every wireframe has a header title

Comments:

  • You will need to add a component hierarchy and wireframe for the user dashboard or myBookings page that display upcoming and past bookings (basically a bookings index)
  • Make sure to add what state each component needs and what route renders each page
  • You will likely need more containers than currently planned but we can discuss these in our 1-on-1 tomorrow
  • You should add a wireframe for the review form (even though it will be on the listing show page)
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

No branches or pull requests

2 participants