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
281 stars 128 forks source link

Blockchain Course Service for Practice Modules #366

Open SwiftAdviser opened 9 months ago

SwiftAdviser commented 9 months ago

Summary

We require a developer to create a system that integrates with the TON blockchain and Coursera LTI standard to facilitate the setup of student wallets and automate the distribution of initial TONs for a blockchain course practice modules.

Requirements

  1. Select a TON SDK to interface with the TON blockchain to manage student wallet addresses. (TS or Python preferable)
  2. Create a donor wallet system for distributing TONs to students.
  3. Implement a modular architecture for the future practice modules
  4. Add a database to the service to store student wallet addresses, with a mechanism to automatically send 3 TONs to new addresses entered into the system from the course. (Coursera uses LTI standard)
  5. Connect the donor wallet with the database: when a new address appears in the database from the LTI webhook, the donor wallet automatically sends 3 TONs to this address.
  6. Provide detailed documentation and guide for students and course administrators.

LTI Standard References

  1. LTI is a standard. Coursera supports its implementation. You're creating a component that works with LTI and any resource. Here's a good example described in Stepik.
  2. You can use this service for debugging: https://lti.tools/test/tc.php
  3. This is the old version of the service: https://lti.tools/saltire/tc
  4. And here's another one for variety: https://foliotek.github.io/LTI-Tester/
  5. So you're creating a SERVICE that will have a URL ENDPOINT (webhook), which gets called, and something happens inside it.
  6. When you embed Coursera (which is the service provider) into other platforms, it displays a portion of Coursera course content.
  7. But it all starts with a URL where it's all provided. That URL is LTI url: https://stepik.org/lti/
  8. We should have a URL that checks these tasks.

LTI Zero to Hero

It's important to understand that in fact, LTI is an external web service. You pass the user ID to it, the user does something there, and then it returns a number from 0 to 1.

Some links (in Russian):

Deliverables

Related tasks:

REWARD

🪄 Created with the help of TON Bounties Creator Bot.

coalus commented 9 months ago

Hey, it would be really interesting for me to work on this task

SwiftAdviser commented 9 months ago

What price would be fair enough for this foundational bounty for you, @coalus ?

coalus commented 9 months ago

After detailed study of this bounty, I think that 1500$ would be fair enough, and 1000$ for #367 as well

SwiftAdviser commented 9 months ago

Nice, let's start with this!

krau5 commented 8 months ago

Hi! I'd like to help @coalus with this footstep

gartox commented 6 months ago

What is the status of this issue ? I would like to work on this if is not started yet.

coalus commented 6 months ago

What is the status of this issue ? I would like to work on this if is not started yet.

Hey! We are still working on this task