Update docs with more architecture info (#4813)
This commit is contained in:
parent
41ab013050
commit
015b4bbc87
2 changed files with 16 additions and 2 deletions
|
|
@ -32,6 +32,8 @@ The biggest element of technical debt in our app are mostly on the frontend. We
|
|||
|
||||
We also have a sprawling CSS structure with few consistent rules.
|
||||
|
||||
We also have inconsistencies and issues with how we bust caching on the edge. We could ideally be doing resource-based purging as described in [the Fastly Rails](https://github.com/fastly/fastly-rails) docs, but we instead rely on explicit busting of specific URLs, (via `CacheBuster`).
|
||||
|
||||
## The algorithm behind the feed
|
||||
|
||||
The home feed is based on a combination of collective recent posts that are cached and delivered the same to everyone in the HTML, and additional articles fetched from an Algolia index after page load. To determine which posts a user sees, they are ranked based on the user's followed tags, followed users, and relative weights for each tag. Additional fetched articles also follow this general pattern.
|
||||
|
|
@ -71,10 +73,22 @@ Tags help organize content, with rules for each tag. A tag is a de facto communi
|
|||
|
||||
Classified listings are similar to posts in some ways, but with more limitations. They are designed to be categorized into market areas. They also make use of tags.
|
||||
|
||||
## Organization
|
||||
## Credits
|
||||
|
||||
Credits are the currency of the platform which users can use to buy classifieds, or potentially future behavior.
|
||||
|
||||
## Organizations
|
||||
|
||||
Users can belong to organizations, which have their own profile pages where posts can be published etc. This can be any group endeavor such as a company, an open source project, or any standalone publication on DEV
|
||||
|
||||
## Reactions
|
||||
|
||||
Hearts, unicorns, bookmarks. How a user shows appreciation for a post. Bookmarks have the special functionality of being stored in one's reading list.
|
||||
|
||||
## Follows
|
||||
|
||||
How a user keeps track of the tags, users or articles they care about. Follows impact a user's home feed and notifications.
|
||||
|
||||
---
|
||||
|
||||
This is far from a complete view of the app, but it covers a few core concepts.
|
||||
|
|
|
|||
|
|
@ -10,4 +10,4 @@ We are a [Ruby on Rails](https://rubyonrails.org) web application.
|
|||
|
||||
Our [stack](stack.md) is composed of many tools and services.
|
||||
|
||||
You can read more about our architecture and app's concepts here: [A few high-level things to know](architecture.md).
|
||||
You can read more about our architecture and app's concepts here: [A few high-level things to know](architecture).
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue