Proposal
Closed this issue · 3 comments
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
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
Includes the following list for the 4 app specific MVPs:- Adequate styling
- Smooth, bug-free navigation
- Adequate and appropriate seeds to demonstrate the feature
- 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
- Correctly formatted
- MVPs are listed in an ordered list
- Each MVP is broken down into bullet points
Comments
Database Schema
- Contains correct datatypes
- Contains appropriate constraints/details
- primary key
- not null
- unique ( 1) You added a unique constraint on the name of a notebook. That means a name of "cat names" can only show up once on the table. Is that you wanted? 2) There are some other opportunities to add uniqueness to your tables :) do you see them? )
- 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
- Do you mean
sessiontoken
orsession_token
?
Sample State
- State shape is flat!
- State's keys are camelCased
- All keys within the values in the state are accessible in the schema
- 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 inui
) -
ui
(if needed)
-
- Should NOT have nested slices, aka
comments
inside ofposts
- 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
- Some info from other tables is ok, for instance:
- Sample state is rendered with triple backticks, and the language
Comments
Backend Routes
- Contains the following sections: HTML, API Endpoints(Backend)
- Each route has a description
- API Endpoint routes contains wildcard variables written in
snake_case
- 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 because that info comes through the post show
- probably doesn't need a
Comments
/api/notes/tags/:tag_id
can be changed to/api/tags/:tag_id
!- same as above for
GET /api/notes/notebooks/:notebook_id
- how does a user create a new tag?
Frontend Routes
- Frontend routes contains wildcard variables written in
camelCase
- Correctly formatted
- Routes are displayed with
inline coding text
(backticks)
- Routes are displayed with
Comments
Great start on the proposal :) You have put in a lot of thought! We have some changes to do. I will check for updates on your proposal some time tomorrow! Thanks Sai!
Friendly Reminders:
- This is the only github issue where I will be marking the check boxes :) All the other github issues, you'll be checking off boxes!
- Please reach out here (this Github issue) if you have any further questions!
Hi Cynthia,
the reason I don't have a create tag is because the user cannot create a tg without creating /editing a note. So, My idea is that whenever a user creates/edits a note, i will check for the tagId. if there is one, I will the tag value add it to the tags_notes join table, else, i will add null.
I have a doubt on this one "/api/notes/tags/:tag_id can be changed to /api/tags/:tag_id" - Since I am not writing a route for the create tag, if I want to access all the notes for a specific tag, I need notes in my routes like /api/notes/tags/:tag_id right? and the same idea for the notebooks too.
For the Backend Routes, I don't have GET likes api endpoint in my routes.
And I will read about React Quill. I wanted to show the preview of the user notes and let the user search by their preference(either in rich text or by plain text). I will do my research on that.
Finally, shall I start my project with what I have now?
Done :)! 💯