A comprehensive student voting platform with secure authentication, document verification, and biometric face recognition.
- Google OAuth 2.0 authentication
- Course form document upload (PDF only, max 10MB)
- Automatic document verification against student details
- SkyBiometry face recognition for liveness check
- One face per account security
- Secure voting platform for activated accounts only
- View candidates and positions
- Cast votes with full audit trail
- Upload candidates and manage positions
- Start/end voting periods
- Real-time vote counting and results
- Next.js 14 with TypeScript
- Tailwind CSS for styling
- Google OAuth 2.0 integration
- C# .NET 8 Web API
- PostgreSQL database (hosted on Render)
- Cloudinary for PDF storage
- SkyBiometry API for face recognition
- Node.js 18+
- .NET 8 SDK
- PostgreSQL access
NEXT_PUBLIC_GOOGLE_CLIENT_ID=********************************************
NEXT_PUBLIC_API_URL=***********
{
"ConnectionStrings": {
"DefaultConnection": "*****************************"
},
"GoogleAuth": {
"ClientId": "***************************",
"ClientSecret": "***************************"
},
"Cloudinary": {
"CloudName": "*******",
"ApiKey": "**************",
"ApiSecret": "**************"
},
"SkyBiometry": {
"ApiKey": "*******************",
"ApiSecret": "***************",
"Namespace": "****************"
}
}
}- Clone the repository
- Install frontend dependencies:
cd frontend npm installl - Install backend dependencies:
cd backend dotnet restoree - Run the applications:
# Frontend cd frontend &∓& npm run dev # Backend cd backend &∓& dotnet run
├── frontend/ # Next.js frontend application
├── backend/ # .NET 8 Web API
└── README.md
d
That’s it. It’s still in development, so expect things to break.
Watch the full demo here:
View on Google Drive