esunwookim619/notDiscord

Design Docs

Opened this issue · 0 comments

MVP List

  • I would push the User profile feature to the very end of our timeline. Starting with Auth, then Servers, then Channels, then Chat will give you a good path to follow when working to implement live chat. User profiles can be a nice bonus feature once that is implemented. This will also give you at least one additional day to throw at live chat, which can be a bit tricky at the onset.
  • Direct Messaging is a cool feature to show off, I would add this feature to your list following Live Chat. Let's talk about some of the complications this may add to our app in our meeting this Tuesday.

Schema

  • The schema looks very straightforward and well thought out. The implementation of ServerMemberships as a joins table is a good way to approach representing being a member of a server. How we will implement DMs or private channels is something I want to talk about this Tuesday.

Backend Routes

  • What is the difference between GET /api/users and SHOW /api/users/:id ? I would recommend first switching SHOW to GET and then considering if we need a request for all users at /api/users. Let's bring this up in our meeting as well.
  • Messages especially need routes for create, showing, updating and deleting. Add backend routes to address this. Additionally, I don't see why we shouldn't be able to update the name of a channel or delete a channel, so let's add routes to address this as well.

Frontend Routes

  • I like the way you have broken down your Components, my main concern is in how /servers/:serverId and /channels will interact. On Discord, when I click on a server, what I see is the content of the channel I am currently in, not some information about the server. Let's talk about how we will better combine these two routes, I'm not convinced we need a /servers or a /servers/:serverId

Sample State

  • Your sample state looks excellent. There are a couple of modals that pop up in Discord, like for creating a new server, so I would recommend adding a modal slice of ui state. We have a good resource for implementing that as well.

Keep up the great work! Looking forward to talking more in depth on Tuesday.