ton-society / grants-and-bounties

TON Foundation invites talent to imagine and realize projects that have the potential to integrate with the daily lives of users.
https://ton.org/grants
285 stars 129 forks source link

Series of videos on TON programming #43

Closed markokhman closed 1 year ago

markokhman commented 1 year ago

Summary

Let's be honest - to get into TON programming is quite a hustle. Documentation is great, but there is lack of hands-on tutorials and "speaking heads" when it comes to programming meaningful smartcontracts, NFTs or dApps for TON. I'm on my learning path, but I've decided to walk the extra mile and produce media content from my learning process. I will plan, produce and distribute a series of videos along with text tutorials that will get a new-comer into this programming field.

Context

I'm quite an experienced developer in classical fields like backend and frontend developments. However, learning to program for TON is quite hard for me. I want to make this much more friendly. I'm also a person who needs to see the whole process end-to-end in order to make the first steps. Recording my footsteps into an organized series of materials can be a great resource for the community.

Goals

Deliverables

Self-onboarding series (currently planning on 10 videos) In this series of videos, every video will contain a tutorial on a certain topic that I’ve recently learned as well as rising the questions that I’ve encountered during the learning process. Each tutorial video will be then followed by a Q&A session video with some experienced TON developer from the community, who will answer the questions and guide me further. Average video length - 60-70 mins. Every video tutorial is going to have a text version published on Medium.com

  1. Environment setup & first “Hello world” smart contract based on https://github.com/romanovichim/TonFunClessons_Eng [Video is already published https://www.youtube.com/watch?v=RbIt8bjvvjE] + video Q&A with a pro smart contracts developer [Script is ready. Negotiating a Q&A session with Narek Abovyan from TonTech]
  2. Programming a simple smartcontract with the tonstarter-contracts (TypeSript) approach In this video I will program a simple smartcontract and write a number of tests for it. + video Q&A with a pro - Agreed to have a call with Tal Kol as he is an ambassador of this approach.
  3. Programming a dApp that will interact with a simple smartcontract from browser [as an example I can provide another video I've published on programming a TonHub extension - Youtube Link + video Q&A with a pro
  4. Programming a ReactNative application that interacts with TON smartcontract This video is different from 3rd one, because I want to outline that Web3 is not just browser, but can also involve a mobile application. Will be helpfull as I’m going to overview known libraries for RN. + video Q&A with a pro
  5. Setting up own API instance of communicating with TON blockchain. + video Q&A with a pro

I plan to prepare and publish 1-2 videos per week. So overall project might take 2-3 months to finish.

Contentful series (currently planning on 5 videos)

As oppose to the Self-onboarding series, Contenfull videos are going to be much shorter (20-30 min) and each video is going to cover very focused information on specific topic. The content of this video will be basically a mix of what I’ve learned by myself and what I’ve learned from pro TON developers during Q&A sessions.

1. TypeScript vs ton-cli approaches Pros & Cons, Resources, Tools

2. Authentification for dApps TonHub, TonKeeper

3. Writing tests for TON smartcontracts Outlining the importance of writing the tests, approaches

4. How to read the TON's whitepaper? +Why is there so many WPs? Durov’s WPs vs Ton Foundation WP +Outlining practical parts of the WP that are required to understand for programing for TON +Outlining core conceptual parts of the WP +Which parts of TON’s WP are already implemented and which are yet to come? While preparing for this video I will have a series of conversations with experienced crypto folks to make sure my material is not superficial.

5. Usefull tools, APIs, Resources

Definition of Done

15 videos according to topics announced in the Deliverables block, published on YouTube with text versions published on Medium.com and Dev.to

Reward

I'm setting up an expected reward based on my workload and salary at my main full-time job.

Preparing a single video takes me 1.5-3 days. I make approx. $ 200 / day at my job. I think to count for example $300 (in TON equivalent) per video. $300 * 15 videos = $4,500. And of course we divide this by 3 as I'll deliver this over 3 months maximum.

So I would round it up to 4000 TONs ($5600 if the rate is $1.4/TON) then I could buy a good microphone, webcam and light, to provide a better quality of videos. But I'm open to your offers.

Suggested milestones:

  1. 5 videos by November 1 - $1500
  2. 5 videos by December 1 - $1500
  3. 5 videos by January 1 - $2600

All the videos will be produced and published in the order according to the list order above.

Hiyorimi commented 1 year ago

Looks like a really useful and valid idea

Gusarich commented 1 year ago

@Hiyorimi shouldn't @markokhman be assigned to this issue?

Hiyorimi commented 1 year ago

@Hiyorimi shouldn't @markokhman be assigned to this issue?

Thank you for noticing this, @markokhman assigned

markokhman commented 1 year ago

Hey guys, really sorry on delaying this footstep :(

It took me a little longer to organize the Q&A calls with PROs and also I used some opportunities to learn from the best, so now the quality of the content in videos will be significantly higher.

I'm getting back to this now and will publish the rest of the materials confirmed with this footstep by the end of January.

Gusarich commented 1 year ago

@markokhman what's up with this footstep?

delovoyhomie commented 1 year ago

@markokhman, any updates on this footstep? It looks very useful for new developers, but the materials may become outdated. Please take care of the deadlines, or we will have to close the footstep unfinished.