Code Monkey home page Code Monkey logo

bonsai_dapp's Introduction

Repository for Kontribute

A decentralised application hosted on the Internet Computer Blockchain (ICP)

About The Project

you can visit the dapp here: Kontribute.app. Kontribute allows readers, writers and web 3 enthusiasts, to create and enjoy community created content, read or write stories and create or sell NFTs along with other features.

The Tech Stack

ICP Tools

Other Tools

Design Approach

Kontribute is built on top of the ICP blockchain - meaning the frontend and backend are both hosted on the blockchain. We use a variety of tools, web2 and web3 alike. The codebase has been opensourced to hopefully be used for educational purposes for any other developers building dapps on the ICP blockchain. This project was kickstarted with the dfx new command.

Frontend

We try to take a modern approach to the frontend in terms of using modern React practices such as functional components and hooks aswell as implementing the most popular React state management library: Redux. The idea is to make as many readable dynamic components as possible taking a "less is more" approach. We are adament that the dapp works and looks nice across all device screens so we use Chakra UI for most of the UI design and CSS, This allows custom and fast development of the UI aswell as responsive components.

Backend

Our backend is a mix between in house smart contracts written in Motoko aswell as using frontend api's to call external smart contracts on the ICP blockchain. We call features and tools from other Motoko packages using Vessel - a Motoko package manager. A large chunk of our Motoko backend is calling the Anvil Protocols smart contracts - covering our whole NFT integration. We also have custom smart contracts for managing and storing user stories. All of this makes Kontribute a multi-canister dapp.

ICP, Anvil Protocol, APIs

The ICP blockchain allows us to create "canisters" which can serve your applications code (a canister is just a smart contract which in turn is just code on a blockchain), We use canisters to host both our frontend and backend. Our dapps authentication uses Internet Identity which is currently an ICP specific authentication system, it is secure and powered by cryptography and allows users to create anonymous user IDs and wallets. We have integrated the Anvil Protocol which allows us to achieve NFT integration aswell as providing us with a variety of tools, including vessel and npm packages. Our marketplace, inventory and ICP wallet are all powered by the Anvil Protocol. We use UserGeek for analytics which allows us to obtain stats on unique users who use our dapp aswell as things like how many users purchased NFTs, All information is anonymous.

Roadmap

  • Canisters launched on the ICP blockchain
  • ICP wallet
  • NFT Inventory
  • NFT Launchpad
  • NFT Marketplace
  • User Stories
    • create stories via text editor
    • view your own stories
    • Read other user stories
    • Sell NFTs from your story
    • Delete stories (admin and users)
    • Story likes
    • Story vote options

(back to top)

bonsai_dapp's People

Contributors

jesssekeogh avatar

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.