Prior to this we had a free trial of DailyBot. The trial ended and their free tier was terrible. I have decided that we should build our own standup that mimics what that did to an extent.
I want to do a bare minimum implementation without having to introduce any big new entities (like organization, projects, etc..).
Going to keep some of the wrapper tables up here. If people have other ideas for how this should be handled I am more than willing to make separate proposals
Table: StandupMeetingGroup
Column | Type | Description |
---|---|---|
id | primary | |
name | string | The name of this standup |
active | boolean | We can also go the route of start_date/end_date but I just don’t see the value or reason. |
start_time | Time | When the standup starts (this can be used to base reminders off of) |
frequency | enum | daily (only for now, will auto-skip weekends). |
There are additional things that could be brought in like standup_type
(async, video, etc..) but not worth the trouble right now.
Table: StandupMeetingGroupsUsers (join table)
Column | Type | Description |
---|---|---|
id | primary | |
user_id | fk | |
standup_meeting_group_id | fk |
I am ignoring role
for now so that we don’t have to overcomplicate it right away. It will just be admin users have power to change these.
Table: StandupMeeting
Column | Type | Description |
---|---|---|
id | primary | |
user_id | fk | |
standup_meeting_group_id | fk | The association of the group this standup is for. i.e PairApp Standup. |
yesterday_work_description | Text | Question 1 |
today_work_description | Text | Question 2 |
blockers_description | Text | Question 3 |
meeting_date | Date | The date the standup is for |
status | Enum | attended or skipped? |
If they mark this as “skipped” (i.e: there is literally a skip button) it should fill up all 3 questions as skipped. This would allow us to make the question fields required.
Table: Standup (standup_responses?)
Column | Type | Description |
---|---|---|
id | primary | |
user_id | fk | |
standup_meeting_group_id | fk | |
data | jsonb | This will hold the questions + answers. This would behave very similarly to Feedback. |
meeting_date | Date | |
status | Enum | attended or skipped? |
This would copy the structure that Feedback is handled and would allow for more dynamic questions. The real question is, do we want this type of flexibility (or even need it right away?).