A full-stack real-time polling application featuring live voting and instant result updates.
- Create Polls: Easily create new polls with customizable options
- Flexible Poll Duration: Set polls with expiry dates or make them infinite
- Real-Time Voting: Instant vote updates across all connected clients
- Live Results: See poll results dynamically update in real-time
Frontend:
- Next.js
- Socket.IO Client
- Mantine
Backend:
- Express.js
- MongoDB (with Replica Set)
- Socket.IO
- Node.js installed (supports Corepack).
- Yarn (enabled through Corepack).
git clone https://github.com/kamalyusuf/poll
cd poll
Copy .env.example
to .env
in both apps/api
and apps/web
directories and fill in the required variables:
API Environment Variables:
PORT
: Port for the Express serverWEB_URL
: URL of the frontend applicationMONGO_URL
: MongoDB connection string
Web Environment Variables:
NEXT_PUBLIC_API_URL
: URL of the backend API
docker-compose up -d
yarn install
yarn dev
The application will be available at http://localhost:3000