Donera is a decentralized crowdfunding platform built on the Alephium blockchain.
It aims to be a familiar experience to web2 users while providing valuable tools to fundraisers that are made possible by innovations of blockchain technology.
This repository is a monorepo containing all the libraries and apps that make up the Doneara
application stack.
Find a brief description below:
Package | Description |
---|---|
alephium-config | Contains common defaults and configuration values, node & explorer providers for example |
blob-store | Functionality for interacting with object stores such as IPFS |
core | Core/common functionality used throughout the repository |
dapp | Contains the Donera smart contracts and utilities for interacting with the onchain protocol |
database | Exposes database operations and interactions. Uses prisma-js for schema declaration and code generation |
eslint-config | Contains eslint configurations used throughout the repository |
indexer | Donera data indexer implementations and tooling |
integrations | Provides functionality for intergrating Donera with external services such as Discord |
typescript-config | Contains TypeScript configurations used throughout the repository |
Application | Description |
---|---|
web | NextJS based web frontend for the Donera dApp. Contains the user interface and backend server |
cli | Donera command line interface providing tooling such as off-chain bots and utilities for fundraisers |
Below is a description of mono-level npm scripts used to perform certain tasks:
Script | Description |
---|---|
pnpm build |
Compiles CLI, generates database client, creates production build of web app, etc |
pnpm types |
Generates TypeScript type declaration files for all packages/apps that require it |
pnpm lint |
Lints the codebase |
pnpm test |
Runs unit tests in all packages/apps |
pnpm fmt |
Runs formatting tools on the codebase |
devnet:up |
Starts a local devnet using alephium-stack |
devnet:down |
Stops the local running devnet |