theonlysam / bookthecourt

MIT License
0 stars 0 forks source link

App mindmap #2

Open bbelderbos opened 11 months ago

bbelderbos commented 11 months ago

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

theonlysam commented 11 months ago

@bbelderbos Mindmap V1

tennis_club

bbelderbos commented 11 months 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 11 months ago

tennis_club drawio

theonlysam commented 11 months ago
bbelderbos commented 11 months ago

Great work @theonlysam

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

bbelderbos commented 11 months 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 11 months 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