Beernerd.app - Week 10 Release Notes
This week we focused all of our development efforts on developing the new activity in our app... THE DRINK COUNTER.
🚀 Features Shipped
Monday, December 15th
- Our Twilio A2P (Application to Person) Campaign got rejected 😔.
- Lesson learned here, fill the application out thoroughly because it costs $15 per review cycle 🤯.
- Thoroughly filled out the application and resubmitted (awaiting results 🤞)
- Gave our terms (
/terms) and privacy policy (/privacy) pages a refresh for better odds at getting approved.
- Published our week 9 blog updates
Tuesday, December 16th
- ✈️ Flew home to Baltimore for the holidays 🎄
- Worked on adding activity card for the drink counter on the plane!
Wednesday, December 17th
- Put the finishing touches on the activity card and shipped it!
- Hit a big roadblock when going to ship the invite screen for drink counter.
- Our database design was centered around one activity, however, the app plans to support many different beer games.
- This caused a problem with our notifications and comments table! They are Foreign Key linked just to our beerdie games table.
- Time to transform the database to support a polymorphic structure!
Thursday, December 18th
- Gave a technical interview to a potential intern.
- Working through some unshipped code 🤫
Friday, December 19th
- Finished up a non-functional drink counter invite screen and shipped it to production.
- The screen's current functionality:
- Show who has joined the drinking session.
- The screen's future functionality:
- An interface to search and invite users via notifications / invite link
- Show who has been invited already via notifications.
Saturday, December 20th
- Started and finished the DB transformation to a polymorphic structure
- This essentially takes down prod until we adjust frontend queries to our database.
- TLDR of our technical approach ->
- Create global parent table that stores the UUID of each game and it's associated activity type.
- All reusable tables (notifications and comments) use this UUID as the Foreign Key.
- Specialized tables for each activity remain Foreign Keyed to specific activity table.
- All activity tables are Foreign Keyed to global parent game table.
Sunday, December 21st
- Made all frontend changes for our new polymorphic DB structure.
- Adding extra insert to parent game table and returning new UUID before insert to specific game table
- Adjusting select queries that were dependent on old foreign key structure.
- 🤓 Fun new learnings
- Taught myself postgres database function syntax as it has become increasingly more relevant to my work (complex queries)
- Learned about the concept of creating views on frequently used complex joins where you want to flatten the data structure on one to one joins
A very technical week but slow development as being home for the holidays has had unforeseen demands (doing chores for my parents). Coming into week 11 red hot, hoping to have the MVP for drink counter wrapped up 🔥
Thanks for reading :)