A5: Fritter Backend!

30 Nov 2022

Fritter’s first release is finally here! Check out our Minimally Viable Product here!

Abstract Data Models. App Fritter + Concepts Alt

Individual Concept Schema (with States) Alt

Overall (Connected) Data Model Alt

Design Reflection.

For A5 — Fritter Backend, I realized how ambitious I was being even after my A4 Self-Review, as I had eight umbrella conceptual designs. Had I had more time and mental energy, I could’ve followed my ambitions to attempt creating all the concepts. But it was amazing starting out to learn about how deeply we could go into each and every concept – routes and considerations never considered before… and the differences in between, for example, counting how many Freets are currently and actively citing a specific source, versus how many Freets in total are citing those.

A bit about my background — I hadn’t taken 6.031 or developed any backend before, so this assignment broke and blew my mind synchronously. I had many troubles and ambiguities — the ones I mainly stayed stuck on (outside of figuring out what a Schema really is, the Mongoose, TypeScript, and node.js diction) are:

I was able to implement the first four concepts fully. Unfortunately, I was unable to get to fully implement Citations. I would’ve done so with the above abstract data model, grouping Citations by their base URLs (as suggested by @Gianna before in our A4 peer rreviews), and creating their own Schema. To prioritize synchronocity – and allow users to include Citations within Freets while having their own Schema (for modularity), I would’ve gotten rid of a “POST” RESTful API route within Citations, and create Citations when publishing a Freet with Citations.

Finally, in order to prioritize preventing: * triggering Fritter users through self-censorship and flagging content, * fueling the spread of misinformation through citations, and finally, * users under 15 years old being on social media platforms (still acknowledging @Chiara’s concerns)…

I’ve decided to rollout the following intended Fritter concepts for a future release after testing out the current MVP:

What I’ve thought about conceptually highly contrasted from what I was able to actually get done – through A5, I’ve learned a lot of decision-making and prioritizing with due dates, as well as avoiding too much complexity in creating the first Minimally Viable Product for Fritter. Plus, I’ve definitely learned how to take notes to streamline the Backend process. I think, as the 6.1040 staff would know, I would’ve liked to start earlier, but considering the extenuating circumstances this semester, I’m glad I was able to create as much as I’ve had thus far! I learned a lot, and even though meeting this due date has been nerve-racking, I think the pressure actually motivated me to really get started and actively ask for help. I learned better about what questions to ask, and it’s exciting knowing that I could now make simple backend applications! Thanks 6.1040 team, for bearing with me!

Finally, I hope our Fritter users come back with positive and constructive feedback after using our MVP! Enjoy our first release, and let us know what you think!