A web app that provides a seamless and interactive way for fans to vote for their favorite players during events.
- Framework: Next.js
- Language: TypeScript
- Styling: CSS Modules
- UI Library: Radix UI
- Icons: Lucide Icons
- ORM: Prisma
- Database & Auth: Supabase
- Image Hosting: Imgur
- Hosting: Vercel
-
User Authentication:
- Users can register with their name, email, and password.
- Secure login and logout functionality.
- Users can update their account details (email, password).
- Admins can create and manage polls and players.
-
Player Management (Admins Only):
- Add, edit, and remove player information.
- Set players as active or alumni.
- Upload and manage player images, numbers and positions.
-
Poll Management (Admins Only):
- Create and edit polls with titles, descriptions, and expiry dates.
- Add players to polls with unlimited entries.
-
Voting System:
- Users must be logged in to vote.
- Poll results are shown to users once a vote is cast.
- Poll results are shown to everyone once the poll is closed.
To run the project locally, follow these steps:
-
Clone the repo:
git clone https://github.com/nugwxa/football-voting-platform.git cd football-voting-platform
-
Install dependencies:
npm install
-
Update your .env file with the values from the .env.example file.
-
Run the development server :
npm run dev
-
Open http://localhost:3000 to view the application.