Next Dapp Alpha

Next Dapp Alpha

  • Tutorial
  • Plugins
  • API
  • Github
Project Logo

Next Dapp AlphaNext.js + Recoil + Firebase + Web3

Quick Start
API Reference

Global State Management

Next Dapp makes complex global state management out of the box and as simple and familier as humanly possible with the Facebook Official Recoil library with zero configuration.

Reactive Functions

Tracker reactively observes global states and executes complex async side-effect functions in a simple manner. Computed values are also out of the box thanks to Recoil Selectors.

Web2 + Web3 Plugins

Bit based lightweigt plugin architechture brings good old tech such as Firestore, user management, CMS and the bleeding edge Web3 tech such as Blockchain and IPFS together to build next-gen apps in no time.

Simple, Quick and Scalable (D)App Development

We have spent weeks after weeks to simplify notoriously complex state management and built a lightweight feature pluggable architecture to let developers save time and money to build the state of the art (d)apps.

nextdapp create myapp && cd myapp && yarn
Simply Bind Anything to Component
import { bind } from "nd"
export default bind(
  ({ global_state, global_state2, computed_value, init }) => {
    const { global_function } = init()
    return <div onClick={global_function}>execute</div>
  },
  [
    "global_state",
    "global_state2",
    {
      global_function: ({ set }) => {
        set(3, "global_state")
      },
      computed_value: {
        get: ({ global_state, global_state2 }) => ({ get }) =>
          get(global_state)) + get(global_state2)
        
      }
    }
  ]
)
Reactive Functions with Tracker
<Tracker
  name="state_tracker"
  watch={["stateA", "stateB"]}
  type="any"
  func={({ set, get }) => {
    set(get("stateA") * get("stateB"), "product")
  }}
  />
Lightweight Plugin Management with Bit
nextdapp add fb
Super Simple APIs ( Firestore )
import { useEffect } from "react"
import { bind } from "nd"

export default bind(
  ({ init }) => {
    const fn = init([ "initFB" ])
    useEffect(() => {
      fn.initFB().then(async ({ db }) => {
        console.log(await db.get("users"))
      })
    }, [])
    return <div>initFB</div>
  }
)
Even Easier Deployment with Vercel Now
now

Core Technology Stack

React
Recoil
Next.js
Ramda.js
Bit
Firebase
Ethereum
IPFS
Go To Tutorials
Next Dapp Alpha
Docs
Quick StartPluginsTodo App ExampleDFINITY ExampleAPI ReferenceTroubleshootingUpdates
Community
Discord
Contributors
More
BlogBit PluginsGitHubStar
Copyright © 2021 Warashibe, Inc.