theonlysam / bookthecourt

MIT License
0 stars 0 forks source link

App mindmap #2

Open bbelderbos opened 1 year ago

bbelderbos commented 1 year ago

Pybites Mindmapping (App Design) Training https://www.youtube.com/watch?v=ZEOJ7GZyg0k

theonlysam commented 1 year ago

@bbelderbos Mindmap V1

tennis_club

bbelderbos commented 1 year ago

@theonlysam cool thanks, looks good. Which component shall we start with, the core of adding the booking system? Maybe you can define the models for this first? For user registration I suggest using allauth - I logged an issue as well as some others. Feel free to add additional ones ...

theonlysam commented 1 year ago

tennis_club drawio

theonlysam commented 1 year ago
bbelderbos commented 1 year ago

Great work @theonlysam

Maybe you can also list the "business rules" (3-5) here to make sure this matches, e.g.

bbelderbos commented 1 year ago

As per meeting today:

  1. Drop Players table, this wil be m2m (many to many) on booking table
  2. Add owner fk to member on booking table
  3. Add guests m2m to booking table
  4. Member will be abstracted user (see Vitor extend user article option 4)
  5. Messages - recipients will also be m2m to member table (existing fk (foreign key) = sender)
  6. Drop the recurring booking table, this will be “recurring” boolean flag on booking table (TODO: figure out how to make recurring entries: https://stackoverflow.com/questions/60279898/how-does-calendar-provider-store-instances-of-infinitely-repeating-events)
    1. Drop the court column from Booking table, because it’s fixed, there is only one (so no extra related table needed)
bbelderbos commented 1 year ago
django-admin startproject mysite .
django-admin startapp court
# add court app to INSTALLED_APPS
# create models.py in court app and use makemigrations + migrate
# then code a make booking view