# SourceCred Codebase Presentation

**URL:** <https://discourse.sourcecred.io/t/sourcecred-codebase-presentation/550>\
**Category:** Initiatives\
**Tags:** ✔️completed\
**Created:** [December 31, 2019, 7:29pm UTC](https://discourse.sourcecred.io/t/sourcecred-codebase-presentation/550 "2019-12-31T19:29:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![burrrata](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sourcecred.io/burrrata/32/135_2.png) [@burrrata](https://discourse.sourcecred.io/u/burrrata)\
**Post date:** [December 31, 2019, 7:29pm UTC](https://discourse.sourcecred.io/t/sourcecred-codebase-presentation/550/1 "2019-12-31T19:29:19Z")

</div>

# Description

* * *

Explore and explain the SourceCred codebase.

  

# Status

* * *

Completed!

  

# Champion

* * *

@decentralion

  

# Benefits

* * *

Makes it easier for people in the present and future to understand how SourceCred works

  

# Implementation Plan

* * *

Write code.

Record video explaining code.

Post video explaining code.

  

# Deliverables

* * *

A video that explains the SourceCred codebase and thinking around it.

  

# Dependencies

* * *

> **[GitHub - sourcecred/sourcecred: a social algorithm for computing cred](https://github.com/sourcecred/sourcecred)**
>
> a social algorithm for computing cred

  

# References

* * *

> [@Cred Analysis Notebooks](https://discourse.sourcecred.io/t/cred-analysis-notebooks/267/6):
>
> @burrrata: First off, there’s a ton of context here which I’m happy to discuss on a call. Regarding understanding the flow of data processing within SourceCred, it works like this: Every plugin generates a SourceCred graph that is specific to its domain (e.g. [GitHub createGraph](https://github.com/sourcecred/sourcecred/blob/master/src/plugins/github/createGraph.js), [discourse createGraph](https://github.com/sourcecred/sourcecred/blob/master/src/plugins/discourse/createGraph.js)) The graphs are [merged together](https://github.com/sourcecred/sourcecred/blob/507091a9760262d1c45db2b4035d2d5833f91ec0/src/api/load.js#L90-L99) into one canoncial combined graph (including identity resolution) We then [compute timeline cred on that graph](https://github.com/sourcecred/sourcecred/blob/507091a9760262d1c45db2b4035d2d5833f91ec0/src/api/load.js#L109) using the [TimelineCred class](https://github.com/sourcecred/sourcecred/blob/ddf07c67144b24803898715d16634495068121cc/src/analysis/timeline/timelineCred.js) The weightEvaluator i…

  

# Contributions

* * *

@decentralion created the [SourceCred Codebase Walkthrough with CodeBuddies](https://discourse.sourcecred.io/t/sourcecred-codebase-walkthrough/549)

@decentralion created the [SourceCred: PagerankGraph live coding with @decentralion](https://discourse.sourcecred.io/t/sourcecred-pagerankgraph-live-coding-with-decentralion/479)
