Files
postter/README.md
João Victor Geonizeli bafd8832ce add critique to README
2022-02-28 17:15:30 -03:00

1.6 KiB

README

Planning

Question for the Product Manager

  • We will allow user to use @mentioning only in the beginning of text?
  • What do you think about create an extensive architecture to support new features, creating a relation of posts and users through Mention entity?

Implementation

  1. Improve Post entity scopes, moving post, repost, quoted_post and reply to kind enum column, becase of the static characteristic of posts a precomputed status will be perfect to simplify queries.
  2. Rename Post#quoted_post to Post#reference
  3. Add a reply route to post, example POST /posts/1/replys, when creating a reply save post with kind
  4. When quering a reply, the frontend will concat orignal post owner username with post content

Critique

  • If I had more time I am certainly using it improve PostsQueryResolverSerivce#filter_by_terms to be more simply, also will give a time to implement cursor based pagination and json:api specifications
  • No cache implemented, this could be the first problem, for a social network with this I will certainly migrate the application for GraphQL (with Relay), this will give flexibility to frontend and maybe a mobile developer to only ask what they need, using less bandwidth, and building a consistent frontend side cache. We could use several infras, azure, aws and etc. I would normally choose AWS for ease and convenience, but scope and needs are important in deciding. Considering that we want to be resilient to governments interventions, it would be significant to have an infrastructure of our own.