onflow / developer-grants

Grants for developers that contribute to the broader developer ecosystem
Apache License 2.0
50 stars 18 forks source link

Magic Flow Academy - Educational platform for learning blockchain development #107

Open FelipeRibeiroLabs opened 1 year ago

FelipeRibeiroLabs commented 1 year ago

Description

As passionate FLOW Fanatics, we love spreading our knowledge about the Flow Blockchain! :two_hearts: :books: We got solid developer docs, support on Discord, Flow forums, Tucker's streams and videos, Live events, Hackatons, and a shootload of carefully crafted articles. :nerd:

Isn't this enough?! No. There's always room for something cool and unique!

:sparkles: Say hello to the "Magic Flow Academy". :man_mage::school:

A whole new online school, open for anyone eager to learn the secrets of Dapp development and Smart Contracts on Flow. :computer: :scroll:

At MFA, newcomers and veterans get the chance to polish their skills with the help of these awesome features:

:zap: Course-by-course hands-on coding. No way to go wrong! :bulb: Teaching while typing. Solid explanations on every block of code. :brain: Gain (on-chain) experience points for each correct line of code. :man_teacher: Students become teachers. With enough experience points you'll be able to create your own MFA course!

Anything that happens within the Magic Flow Academy aligns 100% with the vision of the Flow blockchain and will surely attract a lot of fresh faces! :magnet: :baby:

Learning by doing, typing line by line, is undoubtedly one of the most effective (if not the most effective) method.

With this in mind, we have created the first educational platform where you can learn to build applications on the Flow blockchain with Cadence and integrate with FCL (in this first moment) by writing line by line and earning points (we call it xp) and getting tips from our teachers on what you are doing!

mfa-1

We have created a proof-of-concept that can be accessed through this link - > https://mfa.school

Problem statement

Lack of pedagogical content / Lack of diversity of content

Currently, the number of tutorials and educational platforms that teach cadence, fcl, and building applications on the Flow Blockchain is small. How many developers interested in blockchain development have given up learning Cadence because they couldn't find qualified content? We don't know that number, but we're sure that could be the case today.

Constant updates

Since this is a new and ever-changing language, existing tutorials no longer work or are constantly outdated due to updates. This leads to frustration and makes it difficult to learn a language that was developed with developer experience in mind.

Dissemination of existing content

The flow ecosystem lacks educational platforms focused on attracting new users

Absence of channels that allow the emergence of new tutorials

If you are a mobile development expert and want to create a tutorial for an app that interacts with the Flow blockchain, where should you go to present your idea and get rewarded for it? This channel does not currently exist and restricts new tutorials and educational content.

Target audience

Proposed solution

Problem -> Lack of pedagogical content / Lack of diversity of content

Solution

MFA will be the platform where users will find educational content from different types of applications.

We will start with 5 tutorials that will teach different features:

Orbies - application that performs minting of Orbies on each user request, there are 3 types of Orbies, one of each price. Anyone can call the function to mint an Orbie, but he must pay the price set in the contract for it!

In this tutorial the users of the platform will learn how to:

Seven Dragons - application that sells 7 different types of dragons already pre-minted with the flow CLI. But to buy a dragon, you need to burn some Orbies.

In this tutorial the users of the platform will learn how to:

Packers - application that sells football packages. Similar to nba topshot.

In this tutorial the users of the platform will learn how to:

Studio MFA - The focus of this tutorial is to teach the user how to create nested NFTs. The user will be able to create frames (NFTs) that are a composition of an image (an NFT from the MFA ecosystem), a frame (an NFT that can be purchased), and a background (an NFT that can be purchased)

In this tutorial, we will show you how to:

Flozzar - In this tutorial we will show you how to create a marketplace on the Flow Blockchain. Users will be able to list nfts (from the MFA ecosystem) and buy listed nfts.

In this tutorial, we will show you how to:

After the first 5 features, users who have completed them can apply to show off their skills and create their own lessons within the MFA. (We will talk more about this later)

Problem - > Constant updates

Solution

All lessons in MFA come from an API and a database. To add and update the information we show in the education wizard that shows step by step how to create the app, we create a UI.

In this way, we can easily and quickly change and update a lesson. After the update, users can see which lines of code have changed compared to the code that was already written.

This makes it easier for users to identify new features.

mfa-updater

Problem -> Disclosure of existing content

Solution

For each new lesson we will create 2 videos that will be posted on the MFA social networks (Youtube, Instagram, Facebook and Pinterest).

These videos will be cut into smaller pieces of approximately 1 minute to be used on MFA's social media as short videos. Youtube Ads, Meta Ads, Tiktok Ads and Pinterest Ads will also be used to increase the reach and bring new users to the platform.

Problem -> Lack of channels to allow the emergence of new tutorials

Solution

After the fifth lesson, we will allow MFA users to create their own lessons. How will this work?

Other solutions

mfa-find

A proof of concept of this page can be seen here -> https://mfa.school/find

Impact

Milestones and funding

Milestone Deliverables Timeline Risks USD proposal
1 - Finish MFA Wizard Modal We have created a proof of concept that needs to be finalized. During this time we will fix some existing bugs in the front and back end and add features to improve the user experience 2 weeks - 4000
2 - Finish Orbies Lesson texts In this time we will improve the explanatory texts of the teachers, update the code with the latest Cadence features and add to the lesson the step by step how to list the Smart Contract in the Flow Catalog 2 weeks - 2000
3 - Create the Cadence Framework Testing Lesson (Community request) We will create a Lesson teaching how to configure and run Cadence Framework Testing to test Orbies Lesson's scripts and transactions contracts 3 weeks - 6000
4 - Finish Seven Dragons Lesson We have already started creating this lesson, we have a draft in Figma and the smart contract, in this period we will finish the transactions and scripts, create the application Next. JS, integrate with FCL and add the code and create the explanatory texts for the Modal Wizard. Here we will also teach our students to create a JS application that will loop batch transactions to mint the 3300 dragons. (+ 2 Youtube Videos as previously mentioned) 4 weeks - 10000
5 - Studio MFA Lesson We have already created the Smart Contract and the corresponding transactions, we will create the application Next.JS, integrate with FCL and add the code and create the explanatory texts for the Modal Wizard. Our plan here is to use the proposed new NFTV2 standard (https://github.com/onflow/flips/pull/56), showing students how to create different NFTs within the same contract. (+ 2 Youtube Videos as previously mentioned) 4 weeks - 10000
5 - Packers Lesson We have already created a draft in Figma, we will create the application Next.JS, integrate with FCL and add the code and create the explanatory texts for the Modal Wizard. (+ 2 Youtube Videos as previously mentioned) 4 weeks - 10000
6 - Flozzar Lesson We have already created a draft in Figma, we will create the application Next.JS, integrate with FCL and add the code and create the explanatory texts for the Modal Wizard. (+ 2 Youtube Videos as previously mentioned) 4 weeks - 10000
7 - Open MFA Voting 1 We will open the platform to receive proposals for new tutorials created by users 1 weeks - 1000
8 - Finish MFA Voting 1 and develop the new tutorial Launch the first lesson created by a user and selected by the MFA community. We will support the creation of the lesson and reward the winner at the end 3 weeks - 7000

Total funding proposed: 60000

Team

Name Role Bio Contact
Felipe Ribeiro Project Co-Lead Blockchain and Full-Stack Developer frlabsmd@gmail.com
Alan Dega Project Co-Lead Designer and Full-Stack Developer zero@cyphers.gg
Kristian Gersh Video & Digital Marketing VideoMaker and Digital Marketing specialist Instagram: @kristiangersh

This is a summary of the context we are bringing, but we are open to questions and possible clarification of the points mentioned here. We are also open for suggestions!

chrisackermann commented 1 year ago

Hi @FelipeRibeiroLabs! Could you please add proposed costs for the milestones in this proposal? Thanks!

FelipeRibeiroLabs commented 1 year ago

Hi @chrisackermann! For certain! It's been a while since our proposal and we have had some feedback since then! I will also update the proposal with the proposed costs! Thanks!

FelipeRibeiroLabs commented 1 year ago

@chrisackermann The proposal is updated! If needed, I am also available for a conversation to explain our vision for this project and what we want to achieve with it! Many thanks in advance

diegofornalha commented 1 year ago

Hi @FelipeRibeiroLabs! I tested and indeed anyone can improve their practical skills, there are various flow applications and the impact of actions that we can relate to this platform is truly immense. When the tool is ready, I will make myself available to promote in the Emerald Brazil community and promote in an article and video content.

chrisackermann commented 1 year ago

Hi @FelipeRibeiroLabs! Can you please reach out on Discord at chrisa#6592 so we can talk through in some more detail? Thanks!