Skip to content

A modern Reddit-style polling platform to create, vote, and engage with polls using upvotes and downvotes.

Notifications You must be signed in to change notification settings

Samir782/poll-it

Repository files navigation

Poll-It: A Modern Polling Platform 🎉

Poll-It Logo
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.

Download Releases

Table of Contents

Features

  • 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.

Technologies Used

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.

Installation

To set up Poll-It locally, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/Samir782/poll-it.git
    cd poll-it
  2. Install Dependencies: Use npm or yarn to install the required packages.

    npm install
    # or
    yarn install
  3. Set Up Environment Variables: Create a .env file in the root directory and add your environment variables. You can refer to the .env.example file for the required variables.

  4. Run the Application: Start the development server with:

    npm run dev
    # or
    yarn dev
  5. Open in Browser: Visit http://localhost:3000 to see the application in action.

Usage

Once you have the application running, you can start creating and voting on polls. Here’s how to use the main features:

Creating a Poll

  1. Log In: Use your Clerk account to log in.
  2. Navigate to Create Poll: Click on the "Create Poll" button.
  3. Fill Out the Form: Enter the poll question and options.
  4. Submit: Click "Submit" to create your poll.

Voting on a Poll

  1. Find a Poll: Browse through the list of available polls.
  2. Vote: Click the upvote or downvote button next to the poll options.
  3. See Results: View the updated results immediately.

Contributing

We welcome contributions to Poll-It! Here’s how you can help:

  1. Fork the Repository: Click the "Fork" button on GitHub.
  2. Create a New Branch: Use a descriptive name for your branch.
    git checkout -b feature/your-feature-name
  3. Make Changes: Implement your feature or fix.
  4. Commit Your Changes:
    git commit -m "Add your message here"
  5. Push to Your Branch:
    git push origin feature/your-feature-name
  6. Create a Pull Request: Submit your changes for review.

License

Poll-It is licensed under the MIT License. See the LICENSE file for details.

Contact

For questions or feedback, please reach out:

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.

About

A modern Reddit-style polling platform to create, vote, and engage with polls using upvotes and downvotes.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •