Backend Deployed Link : https://poll-vibe-backend.onrender.com Postman DOcs : https://documenter.getpostman.com/view/39216490/2sAYk8uhq8
A modern, real-time polling application that enables users to create interactive polls, vote on decisions, and view live results. Built with a full-stack architecture using React and Node.js.
Poll Vibe is a comprehensive polling platform designed for making collaborative decisions through community voting. Whether you're choosing outfits, gathering opinions, conducting surveys, or making group decisions, Poll Vibe makes it easy to create polls and collect instant feedback from your audience.
- Create Polls Instantly: Set up polls with multiple options in seconds
- Real-Time Voting: See votes come in live as participants respond
- Beautiful Visualizations: View poll results with intuitive charts and graphs
- Vote on Community Polls: Browse and participate in polls created by others
- User Authentication: Secure login and registration system
- Poll Management: Edit, delete, and manage your created polls
- Anonymous Voting: Option for users to vote anonymously
- Share Polls: Easy sharing via links for maximum reach
- Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
- Intuitive Interface: Clean, modern UI for easy navigation
- Instant Feedback: Get immediate results as votes are cast
- Poll Discovery: Explore trending and popular polls from the community
โโโโโโโโโโโโโโโ
โ Frontend โ (React, CSS, HTML)
โ (Client) โ
โโโโโโโโฌโโโโโโโ
โ
โ HTTP/REST API
โ
โผ
โโโโโโโโโโโโโโโ
โ Backend โ (Node.js, Express)
โ (API) โ
โโโโโโโโฌโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโ
โ Database โ (MongoDB/PostgreSQL)
โโโโโโโโโโโโโโโ
- Framework: React.js
- Styling: CSS3 with modern design patterns
- State Management: React Hooks
- HTTP Client: Axios/Fetch API
- Routing: React Router
- Runtime: Node.js
- Framework: Express.js
- Language: JavaScript/TypeScript
- Authentication: JWT (JSON Web Tokens)
- API Documentation: Postman
- Database: MongoDB/PostgreSQL
- ODM/ORM: Mongoose/Sequelize
- Node.js (v14 or higher)
- npm or yarn
- MongoDB or PostgreSQL database
- Git
-
Clone the repository
git clone https://github.com/codinggita/poll_vibe.git cd poll_vibe -
Install Backend Dependencies
cd Backend npm install -
Install Frontend Dependencies
cd ../Frontend npm install
-
Setup Backend Environment Variables
Create a
.envfile in theBackenddirectory:# Server Configuration PORT=5000 NODE_ENV=development # Database DB_CONNECTION_STRING=mongodb://localhost:27017/poll_vibe # OR for PostgreSQL # DB_CONNECTION_STRING=postgresql://username:password@localhost:5432/poll_vibe # Authentication JWT_SECRET=your_jwt_secret_key_here JWT_EXPIRY=24h # CORS CORS_ORIGIN=http://localhost:3000
-
Setup Frontend Environment Variables
Create a
.envfile in theFrontenddirectory:REACT_APP_API_URL=http://localhost:5000/api REACT_APP_API_BASE_URL=http://localhost:5000
-
Start the Backend Server
cd Backend npm start # or for development with hot reload npm run dev
-
Start the Frontend Application
cd Frontend npm start -
Access the Application
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:5000 - API Documentation: Postman Docs
- Frontend:
- Backend API: https://poll-vibe-backend.onrender.com
- API Documentation: Postman Docs
Backend (Render/Heroku/Railway)
- Push your code to GitHub
- Connect your repository to your hosting platform
- Set environment variables in the platform dashboard
- Deploy the application
Frontend (Vercel/Netlify)
- Build the production bundle:
cd Frontend npm run build - Deploy the
buildfolder to your hosting platform - Configure environment variables for production API URL
Comprehensive API documentation is available on Postman:
Authentication:
POST /api/auth/register - Register new user
POST /api/auth/login - User login
GET /api/auth/profile - Get user profile
Polls:
GET /api/polls - Get all polls
POST /api/polls - Create new poll
GET /api/polls/:id - Get specific poll
PUT /api/polls/:id - Update poll
DELETE /api/polls/:id - Delete poll
Voting:
POST /api/polls/:id/vote - Cast a vote
GET /api/polls/:id/results - Get poll results
- Sign up or log in to your account
- Click "Create Poll" button
- Enter your poll question
- Add poll options (minimum 2 options)
- Configure poll settings (anonymous voting, expiry, etc.)
- Click "Create" to publish your poll
- Share the poll link with your audience
- Browse available polls on the homepage
- Click on a poll to view details
- Select your preferred option
- Submit your vote
- View real-time results
- Navigate to "My Polls" section
- View all polls you've created
- Edit or delete polls as needed
- Track voting statistics and engagement
Based on the project development:
โ
User authentication (Register/Login)
โ
Create polls with multiple options
โ
Vote on polls
โ
View real-time poll results
โ
Browse community polls
โ
Responsive design
โ
Backend API with Express.js
โ
Frontend with React
โ
Database integration
โ
RESTful API architecture
โ
Deployed backend on Render
โ
API documentation on Postman
- Real-time updates with WebSockets/Socket.IO
- Poll categories and tags
- Advanced analytics dashboard
- Comment system for polls
- Poll sharing on social media
- Image/media support in poll options
- Poll templates
- Email notifications
- Multi-language support
- Dark mode theme
- Export poll results (PDF, CSV)
- Scheduled poll expiration
- Private/public poll options
- Poll embedding for external websites
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a 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
- Follow the existing code style
- Write meaningful commit messages
- Update documentation as needed
- Add tests for new features
- Ensure all tests pass before submitting PR
Landing page with featured polls
Check the Issues page for known bugs and feature requests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Organization: codinggita
- Contributors: See Contributors
If you find this project helpful, please give it a โญ๏ธ on GitHub!
- Repository: https://github.com/codinggita/poll_vibe
- Issues: Report a bug
- Pull Requests: Submit a PR
- Inspired by modern polling platforms like Poll Everywhere, Slido, and Mentimeter
- Built with React and Node.js ecosystem
- Deployed on Render for reliable hosting
- Community-driven feature development
Made with โค๏ธ by the codinggita team
Happy Polling! ๐โจ




