Welcome to Poll-It, a modern Reddit-style polling platform that allows users to create, vote, and engage with polls using upvotes and downvotes. This project combines the power of community engagement with a sleek user interface, making it easy for anyone to participate in discussions and share their opinions.
- Create Polls: Users can easily create polls with multiple options.
- Vote on Polls: Engage with polls using upvotes and downvotes.
- User Authentication: Secure user accounts with Clerk authentication.
- Real-time Updates: Enjoy a seamless experience with optimistic UI updates.
- Responsive Design: Access the platform from any device with a mobile-friendly interface.
- Community Engagement: Participate in discussions and see what others think.
Poll-It is built with a variety of modern technologies to ensure a smooth and efficient user experience. Here’s a list of the key technologies:
- Next.js: A React framework for building server-side rendered applications.
- React: A JavaScript library for building user interfaces.
- PostgreSQL: A powerful relational database for storing poll data.
- Drizzle ORM: An Object-Relational Mapping tool for managing database interactions.
- Clerk Authentication: A service for managing user authentication and authorization.
- Hono: A lightweight web framework for building APIs.
- Shadcn UI: A component library for building beautiful user interfaces.
- Tailwind CSS: A utility-first CSS framework for styling.
- Optimistic UI: A technique for providing immediate feedback in user interfaces.
To set up Poll-It locally, follow these steps:
-
Clone the Repository:
git clone https://github.com/Samir782/poll-it.git cd poll-it -
Install Dependencies: Use npm or yarn to install the required packages.
npm install # or yarn install -
Set Up Environment Variables: Create a
.envfile in the root directory and add your environment variables. You can refer to the.env.examplefile for the required variables. -
Run the Application: Start the development server with:
npm run dev # or yarn dev -
Open in Browser: Visit
http://localhost:3000to see the application in action.
Once you have the application running, you can start creating and voting on polls. Here’s how to use the main features:
- Log In: Use your Clerk account to log in.
- Navigate to Create Poll: Click on the "Create Poll" button.
- Fill Out the Form: Enter the poll question and options.
- Submit: Click "Submit" to create your poll.
- Find a Poll: Browse through the list of available polls.
- Vote: Click the upvote or downvote button next to the poll options.
- See Results: View the updated results immediately.
We welcome contributions to Poll-It! Here’s how you can help:
- Fork the Repository: Click the "Fork" button on GitHub.
- Create a New Branch: Use a descriptive name for your branch.
git checkout -b feature/your-feature-name
- Make Changes: Implement your feature or fix.
- Commit Your Changes:
git commit -m "Add your message here" - Push to Your Branch:
git push origin feature/your-feature-name
- Create a Pull Request: Submit your changes for review.
Poll-It is licensed under the MIT License. See the LICENSE file for details.
For questions or feedback, please reach out:
- Email: [email protected]
- GitHub: Samir782
For the latest releases, check the Releases section. You can download the latest version and execute it to get started with Poll-It.
Thank you for checking out Poll-It! We hope you enjoy using the platform and engaging with your community.