{"id":18075695,"url":"https://github.com/mahirsalahin/cavs","last_synced_at":"2026-02-13T20:06:09.275Z","repository":{"id":257967297,"uuid":"864969000","full_name":"MahirSalahin/cavs","owner":"MahirSalahin","description":"CUET Anonymous Voting System","archived":false,"fork":false,"pushed_at":"2025-01-18T12:03:15.000Z","size":1017,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T08:09:00.649Z","etag":null,"topics":["alembic","fastapi","framer-motion","nextjs","oauth2","postgresql","sqlmodel","supabase","tailwindcss"],"latest_commit_sha":null,"homepage":"https://cavs.vercel.app","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/MahirSalahin.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":"2024-09-29T16:42:14.000Z","updated_at":"2025-01-18T12:03:16.000Z","dependencies_parsed_at":"2024-11-08T14:18:35.699Z","dependency_job_id":"08cf4e5a-df9d-4206-921b-e3a802f12f1f","html_url":"https://github.com/MahirSalahin/cavs","commit_stats":null,"previous_names":["mahirsalahin/cavs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MahirSalahin%2Fcavs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MahirSalahin%2Fcavs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MahirSalahin%2Fcavs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MahirSalahin%2Fcavs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MahirSalahin","download_url":"https://codeload.github.com/MahirSalahin/cavs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248537137,"owners_count":21120709,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["alembic","fastapi","framer-motion","nextjs","oauth2","postgresql","sqlmodel","supabase","tailwindcss"],"created_at":"2024-10-31T11:06:57.991Z","updated_at":"2026-02-13T20:06:09.219Z","avatar_url":"https://github.com/MahirSalahin.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CAVS (CUET Anonymous Voting System)\n\nA secure and anonymous voting platform designed specifically for CUET (Chittagong University of Engineering \u0026 Technology) students.\n\n## 🌟 Overview\n\nCAVS enables students to participate in polls and surveys while maintaining their anonymity. The system uses CUET email addresses for authentication but ensures voter privacy through SHA256 email hashing and secure data handling.\n\n### Key Technologies\n\n- **Backend**: FastAPI, SQLModel\n- **Frontend**: Next.js, Tailwind CSS, Framer Motion\n- **Database**: PostgreSQL with Supabase\n- **Containerization**: Docker\n\n## ✨ Features\n\n- **Secure Authentication**\n  - CUET email verification\n  - SHA256 email hashing for anonymity\n  - Secure token-based sessions\n\n- **Poll Management**\n  - Anonymous voting mechanism\n  - Custom poll creation\n  - Time-bound polls\n  - Public and private poll options\n  - Real-time results visualization\n\n- **Privacy First**\n  - No voter identity tracking\n  - Encrypted data storage\n  - Transparent poll creation\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n- Python 3.12+\n- Docker (optional)\n- Poetry (for Python dependency management)\n\n### Local Development\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/MahirSalahin/cavs.git\n   cd cavs\n   ```\n\n2. **Backend Setup**\n   ```bash\n   cd backend\n   poetry install\n   poetry run uvicorn main:app --reload\n   ```\n\n3. **Frontend Setup**\n   ```bash\n   cd frontend\n   pnpm install\n   pnpm dev\n   ```\n\n4. **Docker Setup (Alternative)**\n   ```bash\n   docker-compose up -d\n   ```\n\nVisit `http://localhost:3000` for the frontend and `http://localhost:8000/docs` for the API documentation.\n\n## 📚 Documentation\n\n- [Backend Documentation](./backend/README.md)\n- [Frontend Documentation](./frontend/README.md)\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmahirsalahin%2Fcavs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmahirsalahin%2Fcavs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmahirsalahin%2Fcavs/lists"}