A blockchain-based polling application built with React, TypeScript, and Ethereum smart contracts.
This is a monorepo using Yarn workspaces with the following packages:
packages/client- React frontend applicationpackages/server- Express.js backend with blockchain integration
- Node.js (v18 or higher)
- Yarn (v1.22.19 or higher)
- Git
yarn installThis will install all dependencies for both the client and server packages.
To start both the client and server in development mode:
# Start the client (React app) on http://localhost:3333
yarn dev:client
# Start the server (Express API) on http://localhost:3000
yarn dev:serverTo build both packages for production:
# Build the client
yarn build:client
# Build the server
yarn build:serverTo start the production servers:
# Start the client preview server
yarn start:client
# Start the production server
yarn start:serverYou can also run commands directly in specific packages:
# Run a command in the client package
yarn workspace @blockchain-poll/client <command>
# Run a command in the server package
yarn workspace @blockchain-poll/server <command>- Linting:
yarn lint - Formatting:
yarn format
- Modern React application with TypeScript
- Blockchain integration with Ethereum
- PWA support
- Responsive design with Tailwind CSS
- Internationalization (i18n)
- React 19
- TypeScript
- Vite
- Tailwind CSS
- Radix UI components
- React Router
- Zustand for state management
- Express.js
- TypeScript
- Ethers.js for blockchain interaction
- Hardhat for smart contract development
MIT