Skip to content
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions applications/substrate_startkit_GUI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Open Grant Proposal

* **Project:** Substrate startkit GUI
* **Proposer:** MVP Workshop - https://github.com/MVPWorkshop
* **Payment Address:** 34YFRc4qm4d4C3CH2b9C2ZUbJSpPz9JN6s

## Project Description :page_facing_up:

Please provide the following:
* A brief description of the project.

The idea is to create a GUI where users can quickly select the runtime pallets, enter their genesis configurations, and satisfy their dependencies without forking the template repository and writing any RUST code. The application would add/remove the necessary files and set configurations and dependencies in the codebase behind the scene. In the end, the user will generate a code base with all the components.

The GUI should have the following features:

* Select (drag&drop) pallets
* Add/Remove pallets from codebase
* Generate good-enough default configs or enter custom configuration
* Change pallet dependencies
* On submit - create Github repo with commit (user enter Github creds)
* Indicate connected pallets that to go with each other
* Prevent users from building blockchains that won't compile
* Pre Built solution for common patterns
* Tooltips with explanations and links to documentation

We are considering going with a drag&drop solution. Of course, our design team will come up with the most consistent UX flow during the first phase of the project.

* An indication of why this project is good for the ecosystem.

It would make life easier for everyone who wants to kick off their Substrate blockchain and would lower the entry barrier for both experimentation and development with Substrate. Also, the application will have a clear educational purpose for beginners to understand the power of runtime pallets and all the features that you can get just by adding them to your blockchain.
## Team :busts_in_silhouette:

* **Members:** Djordje Stevanovic, Panto Andjelic, Milica Spasojevic, and other developers/personnel at MVP Workshop if needed to help and/or consult.
* **LinkedIn Profiles:** https://www.linkedin.com/in/djordje-stevanovic-43b61091/, https://www.linkedin.com/in/panto-andjelic-088583100/, https://www.linkedin.com/in/milica-spasojevic-2a648b40/
* **Open-source Code Repos:** https://github.com/MVPWorkshop/electionr https://github.com/MVPWorkshop/lemon.email-dApp https://github.com/MVPWorkshop/badoom-ts
* **Website:** https://mvpworkshop.co/
* **Legal Structure:** MVP Workshop doo, Cara Dušana 51 Zemun, Republic of Serbia
* **Team's Experience:** MVP Workshop is a blockchain product research and development studio. We have more than four years of experience in building decentralized systems.
For our clients, we built a vast number of different Dapps and blockchain:
* Celsius Network - https://mvpworkshop.co/wp-content/uploads/2019/07/MVP-Workshop-Celsius-Network-Case-Study.pdf
* Swarm - https://mvpworkshop.co/wp-content/uploads/2019/08/MVP-Workshop-Swarm-Case-Study.pdf
* Anchor - https://mvpworkshop.co/wp-content/uploads/2019/12/Anchor-Case-Study.pdf
* Cere Network
* Legaler

When it comes to Polkadot, we are a member of the Substrate Delivery Partners program and few of our team members are Polkadot ambassadors as of recently. We hosted an online Substrate event - https://www.youtube.com/watch?v=dJLUO7s-n3M&t=2s
Also, organized internal Substrate learning sessions were we modified the democracy runtime pallet to support quadratic voting mechanism - https://github.com/MVPWorkshop/substrate-quadratic-democracy
We are also members of the Ethereum Enterprise Alliance and the Stellar Development Foundation.


## Development Roadmap :nut_and_bolt:

* **Total Estimated Duration:** 2 months
* **Full-time equivalent (FTE):** 2.5
* **Total Costs:** 3 BTC

### Milestone 1

* **Estimated Duration:** 1 month
* **FTE:** 3
* **Costs:** 1.8 BTC


| Number | Deliverable | Specification |
| ------------- | ------------- | ------------- |
| 1. | Design components for GUI | Visual design of application components (in invision) |
| 2. | Design UX flows | Create a UX that is pleasant to work with |
| 3. | Backend | postgresSQL database, node.js project setup |
| 4. | GUI web application | Set React app project structure & start working on UI components |
| 5. | Continuous Integration environment | Pipeline that build the web applications and runs automated tests on it |
| 6. | Runtime pallets specification | Explore all the runtime pallets intentions and define their relations |


### Milestone 2

* **Estimated Duration:** 1 month
* **FTE:** 2
* **Costs:** 1.2 BTC


| Number | Deliverable | Specification |
| ------------- | ------------- | ------------- |
| 1. | GUI web application | React app components |
| 2. | Github Integration | Integrate Github library so the user could generate a initial commit with the code base on his account |
| 3. | Backend | API’s for handling the code base structure and setting configuration and dependencies |
| 4. | Demo video | Video showcasing how to use the app |
| 5. | Documentation | Describe functionalities and instructions on compiling and running the plugin, including a Docker container with all dependencies. |

Deliverables will be dockerized.