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
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 withreact-helmet
from a Gatsby project: SEO example.I believe
withApollo
is being used in some places where aquery
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... maybeteacher_classrooms
andstudent_classrooms
?teaching_classrooms
andfollowing_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, aClassroom
may have aschedule
, e.g. Streaming every Monday at 6pm.Should
vod
relation beClassVod
instead ofClassVods
?Do we still need
students
in Class? e.g. I join and pay for a single class vs. subscribe to aClassroom
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 startedFrontend Organization What are
sections
vs. the components inpages
folder? E.g.pages/explore/upcoming.js
vs.sections/explore/sideNavigation
? My initial reading of this was thatsections
are reusable, but if they are nested bypage
, then maybe they belong inpages
?Also, maybe we should nest all of the
www
subfolders undersrc