diff --git a/deliveries/substrate_startkit_GUI_milestone-1.md b/deliveries/substrate_startkit_GUI_milestone-1.md new file mode 100644 index 0000000000..32b34a3962 --- /dev/null +++ b/deliveries/substrate_startkit_GUI_milestone-1.md @@ -0,0 +1,34 @@ +# Milestone Delivery :mailbox: + + +**The [invoice form :pencil:](https://forms.gle/8Wx7nxtq8fKrsuEz8) has been filled out correctly for this milestone - BTC Address changed.** + +* **PR Link:** [PR LINK](https://github.com/w3f/Open-Grants-Program/pull/32) + +* **Milestone Number:** 1 + + +For Milestone 1 we set a goal to research and bootstrap everything so we can clearly know what and how we will build and after that be able to focus only on development of features until we achieve Milestone 2 and finish with the application. + +Hence we did all of that, comprehensive research on how crafted blockchain is created from the forking node template to adding other pallets, satisfying their dependencies and configurations to deploying it. + +As an outcome of that process, we made a conclusion on how we will automate that whole process and enable the user to create a blockchain, tailored to his needs and deploy it to his GitHub repository without a user writing any RUST code. + +Below you may find all the deliverables we did for the Milestone 1: + + +| Number | Deliverable | Link | Notes | +| ------------- | ------------- | ------------ |------------- | +| 1. | User flows, Wireframes & UI |[User Flows](https://docs.google.com/document/d/1jC1q6a3_7AAgMHOmhaaP5ZA0_iP-k7v9B3kxiDROMdA/edit#), [Wireframes](https://www.figma.com/file/weHG5n7cV61TkcVgPVFekR/Substrate-StartKit?node-id=2%3A13), [UI Design](https://www.figma.com/file/weHG5n7cV61TkcVgPVFekR/Substrate-StartKit?node-id=247%3A0), [Demo](https://www.figma.com/proto/weHG5n7cV61TkcVgPVFekR/Substrate-StartKit?node-id=270%3A64&viewport=652%2C434%2C0.7690677642822266&scaling=scale-down-width)| We started from the user flows, moved to the wireframes, and once we clarified and defined all the details we developed a comprehensive user interface design deliverable. We went a step further and included in the design some of the features that can be additionally developed such| +| 2. | Backend - PostgreSQL database, node.js project setup |[Backend](https://github.com/MVPWorkshop/substrate-startkit-gui-api)|The back-end is a node.js project with Express framework coded in typescript for its strong encouragement of defining every bit of data in the code and minimizing any inconsistencies and reducing the possibility for buggy code. The database we chose is PostgreSQL in combination with Sequelize ORM for nodejs.| +| 3. | GUI web application |[Repository](https://github.com/MVPWorkshop/substrate-startkit-gui-app)| The front-end is a classic React SPA project which will be communicating with the backend through REST API It's written completely in typescript with a strong awareness on rock solid typization which also serves as the first barrier for bad code practices, buggy code and better readability. The design methodology we are following is "Atomic design", which is consisted of five fundamental building blocks called - Atoms - Molecules - Organisms - Templates - Pages Following the Atomic design patterns, consistency, modularity and scalability is ensured while still embracing componentized nature of react. As for styling, we're using Bootstrap 4 to supercharge the development time and ensure consistent styling across the project. Naturally, because of using Bootstrap as our framework of choice, we're also using scss as our preprocessor.| +| 4. | Documentation & specification |[Product Specification](https://docs.google.com/document/d/1gZSNviJ1wiWDO7MtCEHFPWFfCxMs2ENefA-HhfQn4zw/edit#), [Configuration files(pallet-config branch)](https://github.com/MVPWorkshop/substrate-startkit-gui-api/tree/feature/pallet-config/src/pallets)| We want to enable the user to choose from a list of the most popular pallets. Once the user submits his credentials we will deploy blockchain with pre-defined pallet configurations. In case the user wants to adjust them, he can do it by editing code outside of our application. We created configuration files that will be autogenerated. Configuration files for contracts and balance pallets are linked in the left column as well as READ.ME that explains the rules of writing configuration files. | +| 5. | Github Authentication |[Auth](https://github.com/MVPWorkshop/substrate-startkit-gui-api)| User will authorize us to create a repository and deploy his tailored made blockchain.| + + +As previously mentioned, we concentrate on research and ensuring that there are no impediments that will block us during the development of the other features. +We focused on the unknowns, such as pallet dependencies and the way users can authorize our app to create and deploy code in his repository. + +Thus, we included Github Auth delivery in Milestone 1 (instead of Milestone 2) and we left Continuous Integration environment and Automated tests for Milestone 2 since it makes much more sense to cover it in a later stage of the development. + +Also, the plan of the development and future actions may be found on the August-September roadmap - [link](https://monosnap.com/file/Pr9F2EgYtvxnmWfDCWDnhUy5YtlUtp)