This project was collbaritively developed by
- Rubina Ghimire
- rajdeep shah
- izzac Shelton
Made logo and run testing add slogan feature and brightness feature created frogot password and changing font size and color of the homepage
Run npm i to install the dependencies.
Run npm run dev to start the development server.
Run npm run test to run all tests.
Run npm run test:coverage to run all tests and view coverage.
Run npx jest path/to/the/file_to.test.ts to run one test suite
Based on the project structure and configuration files, here is the full tech stack used to build BlockBallot:
- Next.js (App Router)
Evidenced by the
src/appdirectory andnext.config.mjs.
- TypeScript
Entire project uses
.tsand.tsxfor strong typing.
- Tailwind CSS
Confirmed by
tailwind.config.tsandpostcss.config.mjs.
- Shadcn UI (likely)
The folder structure
src/components/ui/...(button, card, dialog) matches Shadcn patterns.
- Solidity (v0.8.24)
Used for
BlockBallotSingle.sol.
- Hardhat For compiling, deploying, and unit-testing contracts.
- Arbitrum Sepolia Testnet Configuration shows Chain ID 421614.
- Ethers.js (implied) Standard library for Hardhat + TypeScript interaction.
- Supabase
Used for:
- Authentication (email-based)
- Database tables (elections, users, votes)
- Key-value storage (e.g., vote locks)
- Redis-style KV (via Supabase or similar)
Referenced in code as
kvStorefor locking + preventing duplicate votes.
- Jest
Supported by
jest.config.tsandjest.setup.ts.
- ESLint
- Prettier
- Mermaid.js
Used for architectural diagrams such as:
auth-flow.mmdsystem-architecture.mmd