Coder Social home page Coder Social logo

scilla-open-block-school's People

Contributors

cosmin-harangus avatar kytzu avatar mickys avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

kytzu

scilla-open-block-school's Issues

Create a basic Request smart contract.

The Request contract will contain variables for the following:

  • Topic of the request
  • List of teachers that applied
  • Selected teacher
  • Status of the request
  • Amount raised by students
  • Student balances
  • Student votes
  • Deadline until the funds are returned to students

[request] Allow students to join the request by paying a minimum amount

Students should be able to support and join a request for knowledge by paying a specific amount to the Request contract.

Define a method named Join() that is payable and records the amount of coins sent by every student.
This method should be secure and add the new student address to the list with his balance if he is new or update him amount if he has already paid.

The student should also be able to retreat their participation by calling a Leave() method that sends back his coins from the contract and removes him from the list of enrolled students and votes if the a teacher has not been selected yet.

[request] Teachers should be able to apply to a request

As a teacher I should be able to apply as a teacher on an existing request by calling a Apply(name, url) method.
The teacher will be added to the list of joined teachers that are waiting to be voted on by the enrolled students.
The teacher can choose to cancel his application by calling the CancelApplication() method.

[request] Students should be able to vote on teachers that applied

Students must each vote for the teachers that they want to be selected in order to teach the course.

The students will be able to call the Vote([teachers]) method with the list of teachers that they approve.

In order to reach a consensus all students must vote the same teacher and reach unanimous consensus over who will be accepted by the group as their teacher.
If a student wants to leave the course their vote is cancelled and the consensus is rechecked to see if a teacher should be accepted.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.