{"id":28199622,"url":"https://github.com/jhenbertgit/online-voting-system","last_synced_at":"2026-02-26T09:16:19.072Z","repository":{"id":288537023,"uuid":"968430595","full_name":"jhenbertgit/online-voting-system","owner":"jhenbertgit","description":"Secure, transparent, and decentralized online voting platform.","archived":false,"fork":false,"pushed_at":"2025-06-21T02:45:34.000Z","size":14132,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-08T19:34:33.004Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jhenbertgit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-18T04:38:17.000Z","updated_at":"2025-06-21T02:45:38.000Z","dependencies_parsed_at":"2025-04-18T17:50:04.236Z","dependency_job_id":"652e9c27-def8-439b-8dea-4f2e21fbf142","html_url":"https://github.com/jhenbertgit/online-voting-system","commit_stats":null,"previous_names":["jhenbertgit/online-voting-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jhenbertgit/online-voting-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhenbertgit%2Fonline-voting-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhenbertgit%2Fonline-voting-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhenbertgit%2Fonline-voting-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhenbertgit%2Fonline-voting-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhenbertgit","download_url":"https://codeload.github.com/jhenbertgit/online-voting-system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhenbertgit%2Fonline-voting-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29855200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T08:51:08.701Z","status":"ssl_error","status_checked_at":"2026-02-26T08:50:19.607Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-16T19:12:36.232Z","updated_at":"2026-02-26T09:16:19.045Z","avatar_url":"https://github.com/jhenbertgit.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Online Voting System\n\nA secure, transparent, and decentralized platform for online elections—leveraging blockchain, modern web technologies, and robust authentication.\n\n---\n\n## 🚀 Project Objective\n\n- Enable secure, transparent, and accessible online voting for organizations and communities.\n- Ensure tamper-proof, auditable elections using blockchain (Polygon/Ethereum).\n- Provide a modern, user-friendly experience for voters, admins, and election officers.\n- Support real-time analytics, robust authentication, and scalable architecture.\n\n---\n\n## 🏗️ Monorepo Structure\n\n```\napps/\n  frontend/   # Next.js (App Router) – user-facing web app\n  backend/    # NestJS – API, business logic, integrations\npackages/\n  contracts/  # Solidity smart contracts, Hardhat, deployment scripts\n  database/   # Prisma schema, migrations, database utilities\n```\n\n- **frontend/**: Voter/admin portal, dashboards, ballot casting, results (Next.js, Tailwind, Shadcn UI, Clerk, wagmi, ethers.js)\n- **backend/**: APIs, authentication, election logic, analytics, blockchain integration (NestJS, Prisma, Redis, Clerk)\n- **contracts/**: Ethereum/Polygon smart contracts for elections and ballots (Solidity, Hardhat, TypeChain)\n- **database/**: Prisma schema, migrations, DB utilities (PostgreSQL)\n\n---\n\n## 🛠️ Tech Stack\n\n- **Frontend:** Next.js (TypeScript), Tailwind CSS, Shadcn UI, Clerk, wagmi, ethers.js, TanStack Query\n- **Backend:** NestJS (TypeScript), Prisma ORM, Clerk, Redis, ethers.js\n- **Blockchain:** Solidity, Hardhat, TypeChain, Ethers.js, Polygon/Ethereum\n- **Database:** PostgreSQL (via Prisma)\n- **Auth:** Clerk (multi-role: voter, admin, election_officer)\n- **Dev Tools:** ESLint, Prettier, pnpm, Docker Compose\n\n---\n\n## ⚡ Quickstart\n\n### 1. Clone \u0026 Install\n\n```bash\ngit clone https://github.com/jhenbertgit/online-voting-system.git\ncd online-voting-system\npnpm install\n```\n\n### 2. Environment Setup\n\n- Copy `.env.example` files in each package/app to `.env` and fill in required values (see individual READMEs for details).\n\n### 3. Database \u0026 Contracts\n\n- Run Prisma migrations: `pnpm --filter database exec prisma migrate dev`\n- Compile contracts: `pnpm --filter contracts hardhat compile`\n\n### 4. Start Services\n\n- Frontend: `pnpm --filter frontend dev`\n- Backend: `pnpm --filter backend start:dev`\n\n---\n\n## 📂 Further Documentation\n\n- See individual READMEs in `apps/frontend`, `apps/backend`, `packages/contracts`, and `packages/database` for detailed onboarding, scripts, and architecture.\n\n---\n\nFor questions about architecture or onboarding, please contact project maintainers or consult the `/docs` folder if available.\n\n## Structure\n\n- `apps/frontend` – Next.js frontend\n- `apps/backend` – Nest.js backend API\n- `packages/contracts` – Smart contracts (Solidity/Polygon)\n- `packages/database` – Prisma schema and migrations\n- `packages/utils` – Shared utilities\n\n---\n\nFor setup and contribution guidelines, see the respective `README.md` files in each package/app.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhenbertgit%2Fonline-voting-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhenbertgit%2Fonline-voting-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhenbertgit%2Fonline-voting-system/lists"}