-
Notifications
You must be signed in to change notification settings - Fork 2
Planning Docs #1
Copy link
Copy link
Open
Description
Db Setup:
- Snake case all column names
- I would not have a
chefstable, but rather anis_chefboolean column onuserstable. That being said, this may change once we handle auth with Tim. You may want to check this with him. ratingstable should have a rating probably.- I would include a way to book/hire a chef. So perhaps a chef has a certain availability. And if you want to book them during non-booked times, you can book them, and that creates a
booking. Abookingshould probably have a user that requested the booking (user_id), a chef that is trying to be booked (chef_id), could probably have start and endDateTimefields, whether is was accepted by the chef, and lastly, if you want to add a price to a booking, that may make sense. - Once we have bookings, the
ratingsshould not have a chef_id, but rather should have a booking_id. So a rating pertains to a specific "booking", and through that booking you can get to the chef. Let us know if questions on this.
Backend Routes:
- This will likely change significantly after we update the database.
- We must include routes for bookings here as well.
Frontend Routes:
- I'm thinking once we implement bookings it may makes sense to write the rating/review on the bookings page. Kind of like: "how was you meal with <<chef.name>>???", and you give them a review there. So this might need to happen from a bookings completion page or something like that.
- I don't think we should add the ability to delete a chef, even from the show page. Seems unnecessarily dangerous.
- Chefs should not be their own kind of users. They should be regular users that are also chefs. If I'm a chef, and want to hire another chef, I want to have all the abilities to do so a regular user has.
User Stories:
- Images - this is a big thing you casually sprung there. We'd need to setup some external host for our images, like AWS.
- Messaging system - another one you casually added there. Theres no mention of this in the database, backend, or frontend setup. This is kind of a big deal too. We're talking about 2+ tables in the database, plus websocket connection. I would scrap this feature and leave it as a super bonus.
- Reviews - not mentioned anywhere either. If you want reviews, then I would add them along with ratings. Meaning, instead of
ratingshavereviewsthat has astar_rating(typically 1-5). - Favorites - Another item that is subtly mentioned but does not appear in the db, frontend, or backend. This could be a stretch feature in my eyes. This would include a
favoritestable to make the chef:user relationship a many to many. - Searching by zip code means we'll have a map? This one I like cause it'll be visually appealing.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels