-
-
Notifications
You must be signed in to change notification settings - Fork 358
Schema: Add field(s) for video conference URL / Online Events #378
Comments
If we're going with auth0, I think it might be helpful to save some parts of the user profile auth0 provides. This is what a successful auth0 request returns after login:
Another benefit of using auth0 is that we wouldn't have to save passwords anymore. |
@pdotsani I don't think the schema has been given much consideration for the auth fields, so it's rather likely we need more work on that side. In fact, if the social_provider and social_provider_users tables don't make sense in the context of using only Google Auth, then we can trim down the schema there too. Since this issue is primarily focused with the virtual events vs physical events, could you create a new issue or PR and share thoughts on schema updates for required users fields? |
@timmyichen @Zeko369 thoughts on the proposed adds / changes to the schema for handling online meetings? |
Yeah, we're definitely going to be removing social_providers for now and only keeping the google auth. I'll open up small issues so more people can work on this stuff.
The URL thing is a great idea. #381
Enums for online/offline events #382 Remove |
@Zeko369 I don't think I was involved in the initial locations or venues to know the reasoning. It looks like locations was created to allow for a city / region / country search like was mocked up for the main Chapter instance landing page. However, the schema also shows a relationship between venues and locations, which would only make sense if locations had a street address, lat, long, and zip code as well. I don't think we need both tables. If we move city, region, country to the chapters table, then it allows for something like Then, venues could have their own street_address, city / locality, postal_code, region, country, latitude, longitude as described earlier, and we don't need locations. Does that make sense? Mixing a physical venue address and a generic location is what we had. It's two different use cases and we can accomplish both use cases with only chapters and venues. |
As further support to remove the locations table, here's more ways it would be confusing. Physical venues need a street address, latitude, longitude, and zip code. In the current form, this would require us to add street address, latitude, longitude, and zip code to locations. chapters typically do not have a physical street address because they are often just meetup groups and not physical organizations. chapters often change venues or meet at different venues, so it could further confuse a member / attendee if a chapter presented a physical address because that chapter's events will often be at an entirely different physical venue address. It's just confusing to have both chapters and venues mixed together in a single table when those tables can hold the values needed for their own use case. |
@allella Since most self hosted chapter instances will only have one chapter I completely agree with you that we should remove location aspects of chapter entities in the db. Since we'll only have locations in one place (venues) and since most of the time venues won't share locations, we can move the columns needed for location to venues and remove locations all together |
I think we can still have a city, region, country on the chapters table because groups like freeCodeCamp are likely going to have many chapters and having those fields connected directly to each chapter's record will allow for any easy front-end query by city + region + country, as in the Figma mockup |
Agreed, let's do it that way then @allella |
All the pieces of this issue should now be covered thanks to @katien |
@Zeko369 @timmyichen @QuincyLarson @tomiiide
One of actionable next steps was to update the schema, models, and API to handle online / virtual events.
The schema ER diagram may be a bit out of date, but I think it's current enough for this conversation.
Rough Ideas to Seed the Conversation
Caveats
The text was updated successfully, but these errors were encountered: