Skip to content

VoiceDeck/app

Repository files navigation

VoiceDeck

VoiceDeck is a platform that allows users to contribute retroactive funding for impactful grassroots journalism in India. Donors receive fractional shares of a HyperCert representing the impact of the reporting they've supported.

Features

Within the VoiceDeck app, users can

  • Search reports by category, state, progress
  • Examine report details, impact assessment, funding status
  • Anonymously prove Indian citizenship
  • Contribute funds with embedded crypto wallet
  • Track personal contribution activity and metrics

Tech Stack

We recommend direnv for managing your environment variables

Getting Started

Prerequisites

Node.js: this project requires installation of Node.js 18.17 or later. Next Documentation

Ethereum Sepolia: The Hypercert Marketplace is currently deployed on Sepolia Testnet. To interact with Voicedeck's impact Hypercerts, you'll need to connect to Sepolia Testnet and obtain SepoliaETH from a testnet token faucet.

Network Configuration

Parameter Value
Network Name Sepolia test network
RPC URL https://sepolia.infura.io
Chain ID 11155111
Currency Symbol SepoliaETH
Block Explorer URL (Optional) https://sepolia.etherscan.io/

Run Locally

Clone the repository

  git clone git@github.com:VoiceDeck/app.git

Install dependencies

  cd app && bun install

Start the server

  bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/reports/page.tsx.

Helpful References

  • TypeScript Documentation TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.
  • Next.js Documentation Next.js is a React framework for building full-stack web applications. You use React Components to build user interfaces, and Next.js for additional features and optimizations. Under the hood, Next.js also abstracts and automatically configures tooling needed for React, like bundling, compiling, and more. This allows focus on building the application instead of spending time with configuration.
  • Tailwind Documentation Tailwind CSS is a utility-first CSS framework for rapidly building modern websites without ever leaving your HTML. A utility-first CSS framework packed with classes that can be composed to build any design, directly in your markup.
  • Shadcn Documentation Shadcn provides beautifully designed components that you can copy and paste into your apps and enables you to bootstrap them via cli. It 5x's productivity and allows focus on what matters most, business logic + features.
  • Directus Documentation Directus is an Open Data Platform built to democratize the database. It provides everyone on the team, regardless of technical skill, equal access to data and digital file asset management, for any data model or project. Directus enables you to perform CRUD operations, create users, assign roles with fully configurable permissions, build complex and granular queries, configure event-driven webhooks and task automation.
  • Hypercerts Documentation Hypercerts create this interoperability by serving as a single, open, shared, decentralized database for impact funding mechanisms. A single hypercert is a semi-fungible token that accounts for work that is supposed to be impactful and whose ownership is fractionizable and transferable (under specific conditions). Hypercerts do not impose any specific funding mechanisms but provide baseline invariant guarantees such that claims will not be forgotten as different mechanisms come into and out of fashion. This is also why hypercerts are especially useful for any retrospective funding mechanisms – funding can be applied to claims of the past.
  • Anon Aadhaar Documentation Anon Aadhaar is a zero-knowledge protocol designed to enable Aadhaar citizens to prove their possession of an Aadhaar document issued and signed by the government. This process ensures anonymity by utilizing the Aadhaar secure QR code, presents on e-Aadhaar and Aadhaar print-letter, preserving the confidentiality of the Aadhaar number.
  • ethers.js Documentation The ethers.js library aims to be a complete and compact library for interacting with the Ethereum Blockchain and its ecosystem. It is often used to create decentralized applications (dapps), wallets (such as MetaMask and Tally) and other tools and simple scripts that require reading and writing to the blockchain.
  • viem Viem is a TypeScript Interface for Ethereum that provides low-level stateless primitives for interacting with Ethereum. It delivers a great developer experience through modular and composable APIs, comprehensive documentation, and automatic type safety and inference.
  • WalletConnect Documentation The Web3Modal SDK allows you to easily connect your Web3 app with wallets. It provides a simple and intuitive interface for requesting actions such as signing transactions and interacting with smart contracts on the blockchain.