Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
FelipeRibeiroLabs opened this issue Oct 22, 2022 · 5 comments

Comments

@FelipeRibeiroLabs
Copy link

FelipeRibeiroLabs commented Oct 22, 2022

Description

As passionate FLOW Fanatics, we love spreading our knowledge about the Flow Blockchain! 💕 📚
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!

✨ Say hello to the "Magic Flow Academy". :man_mage:🏫

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

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

⚡ Course-by-course hands-on coding. No way to go wrong!
💡 Teaching while typing. Solid explanations on every block of code.
🧠 Gain (on-chain) experience points for each correct line of code.
👨‍🏫 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! 🧲 👶

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

  • Developers who want to learn how to build applications on the Flow Blockchain
  • Beginning developers who want to improve their programming skills
  • Users who want to learn how to program

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:

  • Create the Orbies Smart Contract, deploy it to the testnet
  • Create your specific transactions and scripts
  • Create a Next.js application that authenticates the user, performs the minting of Orbies (spheres) and displays the Orbies that are present in the wallet

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:

  • Create the Seven Dragons Smart Contract, deploy it to the testnet
  • Create your specific transactions and scripts
  • Mint 3300 Seven Dragons NFTs with Flow CLI
  • Create a Next.js dapp that authenticates the user, displays the orbies that are available in the wallet, the seven dragons that are available for purchase, their total balance and their value (orbies + flow tokens)

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

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

  • Create Packers Smart Contract and deploy it to the test network
  • Create your specific transactions and scripts
  • Mint 3300 NFT players with the Flow CLI
  • Create a Next.js dapp that authenticates the user, displays the players the wallet has and sells packs.

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:

  • Create the Studio Smart Contract and Perform the deployment on the testnet
  • Create your specific transactions and scripts
  • Create a Next.js dapp that authenticates the user, displays the NFTs that exist in the wallet, allows the purchase of a frame that can be customized with a border and a background, and places the NFT selected by the user in that frame

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:

  • Create transactions and scripts to interact with the storeFrontV2 standard contract
  • Create a Next.js dapp that authenticates the user, displays the nfts that the wallet has, displays the nfts that are currently for sale, allows the user to buy new nfts in the marketplace or list their nfts for sale

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).

  • 1 video will have a marketing appeal, be approximately 10 minutes long and show the platform and lesson being done. The first lesson that is in development -> Orbies, has a video that is also in development, a proof of concept of what we are creating can be seen through this link - > https://youtu.be/Fvcwsmyfwy4

  • 1 Video that shows from start to finish the screen capture of the lesson being performed and completed. The user can follow all the steps inside and outside the MFA platform on their local computer

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?

  • Users who have completed the MFA lessons and have enough xp can submit a proposal for a lesson they want to create. The proposal should specify the features of the application, the programming language used, and the deadline for completion.

  • The submitted proposals will undergo a preliminary analysis and if they meet the requirements, they will participate in the MFA voting.

  • The MFA voting will take place with the qualified proposals, we want to use the platform CAST. The MFA users will be able to vote on the proposal they want to see realized.

  • The owner of the winning proposal will be given access to the lesson creation UI and will be able to create the educational content. Once the content is completed and approved, it will be published on the MFA platform and the owner of the winning proposal will receive a reward in the form of FLOW tokens

Other solutions

  • The user can access the /find page, where he has a convenient and quick way to access the code he has already written, also he can use the search input to find a specific code snippet. Who has not opened a file to remember how to create a certain line of code?

mfa-find

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

Impact

  • A place to learn various functions related to the Flow blockchain
  • New users interested in programming can join the Flow ecosystem
  • New tutorials with new technologies that will emerge in the future, defined by community interest

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 (onflow/flips#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
Copy link

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

@FelipeRibeiroLabs
Copy link
Author

FelipeRibeiroLabs commented Feb 3, 2023

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
Copy link
Author

@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
Copy link

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
Copy link

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

@chrisackermann chrisackermann removed their assignment Jul 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Grants Overview
New: In review
Development

No branches or pull requests

3 participants