/vtoken

Primary LanguageJavaScript

Student loyalty and reward management System

Badges Badges Badges Badges Badges

Notice: Project has not been completely developed yet. It's in phase3 development and integration of web3 components to the web application

What's this?

This is a reward management system powered by Django, ERC20 and Brownie. To collect the custom crypto tokens, they have to contribute articles to the page or complete the milestones or assignments created by the students' respective faculty. Article posts can be based on any topic that intrigues oneself, based on the popularity of the article the author receives the tokens from the project developers and could even receive the tokens as a tip from avid readers.

Features

  • Personalized user page.
  • Multi-user、multi-role permission management system.
  • create Articles
  • create quizzes and Assignments
  • custom edits on articles, quizzes, and assignments
  • deploy custom token
  • Common forum's functions:
    • Register, login/logout, reset the password, email confirm.
    • Post, reply, comment.
    • Add co-author, tag.
    • search using (#,@)

Features(under development)

  • Scalable multi-node system.
  • Follow, collect, and get the dynamic news.
  • Restful API.
  • Common web3 functions (internal wallet):
    • fetch account details
    • share the account address
    • transfer the custom token
    • make transactions

How to use?

  1. Clone this repository into your computer.

  2. create the virtual environment.

    virtualenv venv
    # activate the virtual env
    venv\Scripts\activate.bat # for windows
    source venv/bin/activate # for ubuntu or ios systems
  3. To create and deploy custom ERC20 contract

     pip install brownie
    
     # to deploy your new custom ERC20 token change the token name and symbol in'deploy_vtoken.py'
     # and add private key of external wallet and infura project key to '.env'
    
     brownie run scripts/deploy_vtoken.py --network kovan
  4. Get dependencies(recommend):

    pip install -r requirements.txt
  5. Now plug the database

    First create the database in PostgreSQL

    add the database name, user, and password in settings.py

  6. Startup:

    python manage.py runserver
  7. Create an administrator user:

    python manage.py createsuperuser

What's more

Welcome to issue some problems that you find in this project. I appreciate your work very much!