A secure and anonymous voting platform designed specifically for CUET (Chittagong University of Engineering & Technology) students.
CAVS 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.
- Backend: FastAPI, SQLModel
- Frontend: Next.js, Tailwind CSS, Framer Motion
- Database: PostgreSQL with Supabase
- Containerization: Docker
-
Secure Authentication
- CUET email verification
- SHA256 email hashing for anonymity
- Secure token-based sessions
-
Poll Management
- Anonymous voting mechanism
- Custom poll creation
- Time-bound polls
- Public and private poll options
- Real-time results visualization
-
Privacy First
- No voter identity tracking
- Encrypted data storage
- Transparent poll creation
- Node.js 18+
- Python 3.12+
- Docker (optional)
- Poetry (for Python dependency management)
-
Clone the repository
git clone https://github.com/MahirSalahin/cavs.git cd cavs
-
Backend Setup
cd backend poetry install poetry run uvicorn main:app --reload
-
Frontend Setup
cd frontend pnpm install pnpm dev
-
Docker Setup (Alternative)
docker-compose up -d
Visit http://localhost:3000
for the frontend and http://localhost:8000/docs
for the API documentation.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.