Skip to content

Rewards Suite repository contains the infrastructure code for a user rewards system that incentivizes project contributions.

License

Notifications You must be signed in to change notification settings

ipaleka/rewards-suite

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rewards Suite

build-status build-contract docs codecov ansible-lint molecule

This repository contains the infrastructure code for a user rewards system that incentivizes project contributions.

How It Works

The website powered by this infrastructure displays historical and recent contributions, hot tasks, contribution guides, and more. To suggest rewards for contributions displayed on the website, community members can use the Discord Bot or create comments on social media that will trigger the powered tracker.

Important

For the bot to access all channels in the dedicated Discord guilds, an admin must assign it a role with appropriate permissions (the Verified role in the case of ASA Stats Discord).

Environment Variables

Environment variables should not be stored in the repository, so .env files must be created based on .env-example:

  • Website variables are placed in rewardsweb/.env
  • Discord bot variables are placed in rewardsweb/rewardsbot/.env
  • Rewards smart contract variables are placed in rewardsweb/rewards/.env
  • Please check deploy/.env-example for deployment variables

Note

If the ADMIN_*_MNEMONIC variable is not set in rewardsweb/rewards/.env, the system will treat the logged-in superuser as the admin. You will then need to assign the admin's public address to that superuser.

Quick Start

Please check the setup section in the documentation.

Goals

  • Stimulate community engagement
  • Provide a nice contributions overview
  • Make the process of suggesting and collecting rewards straightforward
  • Have a nice overview and documentation of contribution/reward process

Roadmap

  • Initialize Django project on this repository
  • Setup environment: docker (optional), database, env file(s)
  • Create data models and migrations
  • Adjustment of script for contributions spreadsheet parsing
  • Create script for seeding the database with parsed data
  • Create API routes
  • Create methods for managing http requests and bind them to API routes
  • Automated documentation building and publishing on Read The Docs platform
  • Create methods for CRUD operations
  • Implement authentication by connecting a wallet
  • Create deploy workflow
  • Create smart contract for rewards allocation and claiming
  • Develop UI for rewards allocation and claiming
  • Implement additional issue trackers besides GitHub
  • Create trackers and related parsers for mentions in social media messages (X and Reddit)
  • Enable automatic generation of transparency report snippets based on Mainnet allocations
  • Setup a server and deploy the application
  • Deploy the smart contract on Mainnet

About

Rewards Suite repository contains the infrastructure code for a user rewards system that incentivizes project contributions.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 82.5%
  • HTML 8.4%
  • TypeScript 6.9%
  • JavaScript 1.7%
  • Shell 0.2%
  • Jinja 0.2%
  • CSS 0.1%