Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a domain/data model #47

Closed
nicholasjhenry opened this issue Nov 19, 2015 · 5 comments
Closed

Create a domain/data model #47

nicholasjhenry opened this issue Nov 19, 2015 · 5 comments

Comments

@nicholasjhenry
Copy link
Contributor

No description provided.

@nicholasjhenry nicholasjhenry self-assigned this Nov 20, 2015
@nicholasjhenry
Copy link
Contributor Author

Based on the requirements listed in the issue tracker and the current database schema, I believe this accurately models the domain -- note that it does not address language requirements.

montreal-rb

I'm not suggesting we need to something as complicated as this, but it does give us a high-level view to discuss further. Questions and feedback welcome!

@benichu
Copy link
Member

benichu commented Nov 20, 2015

It definitely gives us a clear overview of the domain, I'll look into it this weekend.

@mdeloupy
Copy link
Contributor

This is great ! Thanks Nicholas !

@cawel
Copy link

cawel commented Nov 24, 2015

Indeed very useful 👍

Here are a few comments (which might be premature for a high-level db schema):

  • In order to have url-friendly url's for the pages within the "content management", it would be nice to have some slugs (hence, columns).
  • The pages within the "content management" could be linked to the User model, e.g. an author_id column (as a foreign key to the users table).
  • In order to support the RSVP feature (issue RSVP an event #22), don't we need another table? A candidate implementation might be a many-to-many table between Event and Member.

I'm pretty sure we'll discuss some of those points tonight, during the workshop.

@nicholasjhenry
Copy link
Contributor Author

which might be premature for a high-level db schema

It's more an object model, than a DB schema focused on persistence -- hence no foreign keys, join tables etc. @cawel But theses are all great suggestions. Thank you! 💥

In order to have url-friendly url's for the pages within the "content management", it would be nice to have some slugs (hence, columns).

Yes, definitely.

The pages within the "content management" could be linked to the User model, e.g. an author_id field (as an alias to the user_id column).

Yes, definitely. Probably makes most sense for Event, NewsItem and Page.

In order to support the RSVP feature (issue #22), don't we need another table? A candidate implementation might be a many-to-many table between Event and Member.

Yes, to persist the many-to-many relationship we would definitely need a join table.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants