-
Notifications
You must be signed in to change notification settings - Fork 3
Susereum Architecture
Susereum is a Blockchain Based Platform that rewards developers for their sustainable code contributions. It creates a permanent immutable credit when a contributor improves the codebase sustainability. Susereum is a way to Systamatically promote Software Sustaibability by rewarding developers with permanant immutable crypto credit for the quality of their code contributions.
Susereum has 3 main components:
- GitHub: Facilitates the repository integration.
- Sawtooth: Realizes transactions, Blocks and credit awards
- Code Analysis: Quantification of code quality, empowering peers.
A contributor submits/commits code on the GitHub repo. Assuming the repo already have Susereum installed, a notification is sent to the Sawtooth module indicating the change. Sawtooth initiates the code analysis on the project and code analysis returns an analysis report. Sawtooth analyzez the analysis report and measures project health in order to decide if the contribution was good or bad.
-
GitHub: Seamless Susereum integration with any existing GitHub repository. This module basically listens to the events (installation and code commits). First step is to install Susereum on the project. This has to be done by the project owner. Once installed, Susereum can listen to the different events and respond accordingly.
-
Sawtooth: This module is responsible for provides blockchain platform to keep track of everything, coordinate between modules, generate results and rewards. GitHub events sawtooth will be responding to are:
- New project installation event: in response, sawtooth returns activation link and setup details.
- Existing project push event: initiate code analysis on the new code and based on the code analysis results, generate Suse.
-
Code Analysis: This module as its name, analysis project code and generates results based on 9 code smells that include Large Class, Small Class, Large Method, Small Method, Large Parameter List, God Class, Inappropriate Intimacy, Comments to code ration (upper and lower bound).
Susereum's Architecture consists of three other modules:
-
Event Handler: Responsible for redirecting events to the correct module within Susereum.
-
GUI: Responsible for displaying the user interface of Susereum.
-
Sawtooth Explorer: Responsible for providing the GUI to master user and allows the master user to view all projects on Susereum.
All of these modules/interfaces work together which form Susereum, where Suesereum follows a set of code standards using blockchain that aids in the completion of sustainable code. More information on Susereums' Architecture can be found in the Software Architecture Document v7.0