Development resources at your finger tips
Build with the coolest Web3 projects
Recurring funding for Open Source
Learn about Web3 & earn rewards
Show appreciation for each other
Meet fellow developers, designers, futurists and more. Collaborate and BUIDL awesome projects together.
Discover great web3 organizations, work on meaningful projects and build relationships with like minded people. Browse Tribes
Meet the top hunters and contributors from our community.
We are proud to announce that we have teamed up with Chainlink to launch a new bug bounty program to secure the Chainlink protocol. Chainlink is the …
In partnership with Protocol Labs, we’re excited to welcome builders from everywhere to APOLLO, your mission control to engage with the builder…
Gitcoin is GDPR compliant. Learn more in
Gitcoin's Terms & Conditions.
Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
### User Story
[comment]: # (As a , I want to so that .)
as a poweruser, i want to cache my profile info so that it loads in < 0.1S
### Why Is this Needed
[comment]: # (Describe the problem and why this task is needed. Provide description of the current state, what you would like to happen, and what actually happen)
kevin ( https://gitcoin.co/profile/owocki ) is a poweruser of gitcoin. because of that he has lots of activity. because of that, his profile loads pretty slow.
[comment]: # (Feature or Bug? i.e Type: Bug)
### Current Behavior
[comment]: # (Describe what actually happened.)
kevin's profile takes 8s to load and loadtime is correleated to the amount of activity
### Expected Behavior
[comment]: # (Describe what you expected to happen.)
kevins profile takes 0.1s to load.
### Definition of Done
[comment]: # (Any other information that would be useful, bullets are helpful.)
you may extend the pattern created at https://github.com/gitcoinco/web/pull/4316
the basic approach here is to make sure that the profile is cached in the JSONStore object.
we will also have to make sure that anytime the profile changes, that the profile cache object (the JSONSTore) is invalidated and updated. you may do this by creating a `profile.rebuild_profile_cache()` object that is called as a `post_save` hook on the `dashboard.models.Profile` object.
the PR should not create any regressions in the quality of the profile page.
### Data Requirements
[comment]: # (How will we measure the success of this feature? What kind of tracking is needed for this feature (clicks, impressions, flag)?)
### Additional Information
[comment]: # (Any other information that would be useful, content, screenshots, etc.)
please only start work on this issue if you can submit a PR that implements this by June 16th 2019.