homeroom-live / homeroom

Live streaming for education.
0 stars 0 forks source link

Refactor Questions and Comments #1

Closed hoodsy closed 6 years ago

hoodsy commented 6 years ago

Connect Stripe and Manage Files with Webhooks Are you deferring these for the initial refactor, or did you already complete? No sweat if deferred.

SEO Apollo and withApollo Not totally following the SEO piece, but here's an example with react-helmet from a Gatsby project: SEO example.

I believe withApollo is being used in some places where a query is triggered outside of the initial render... I think we should avoid using this wherever possible, it feels like an anti-pattern... EDIT just saw this commit, looks like a muuuch better way to expose the apollo client! 🙏

Schema - User Classrooms I think we can improve the clarity of the naming here... I'm pretty sure I understand what you mean taught = teaching, studying = learning... maybe teacher_classrooms and student_classrooms? teaching_classrooms and following_classrooms?

Schema - User Follows Should the relation follow the naming of field? e.g. following: UserFollowing, followers: UserFollowers?

Schema - User Refunds This functionality is currently in the app – when a user leaves a Class they paid for, they get a partial refund.

Schema - Classroom Should we add multiple teachers for each Classroom here, and let the UI catch up over time?

Schema - Class I'm not sure what to change it to, but I think schedule should indicate that this is a single day/time. In the future, a Classroom may have a schedule, e.g. Streaming every Monday at 6pm.

Should vod relation be ClassVod instead of ClassVods?

Do we still need students in Class? e.g. I join and pay for a single class vs. subscribe to a Classroom

Schema - File Don't we need the s3 url to display videos, pictures, etc?

Schema - Refund Maybe we should include percentage here... e.g. A student gets a 50% refund for cancelling a paid Class after it's started

Frontend Organization What are sections vs. the components in pages folder? E.g. pages/explore/upcoming.js vs. sections/explore/sideNavigation? My initial reading of this was that sections are reusable, but if they are nested by page, then maybe they belong in pages?

Also, maybe we should nest all of the www subfolders under src