Skip to content

IwuchukwuDivine/polls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Š Polls

A modern, engaging polling application built with Nuxt 4 and Vue 3. Create beautiful polls, gather insights, and engage your audience with multiple poll formats including multiple-choice questions and visual comparisons.

License: MIT Nuxt Vue TypeScript

⚠️ Note: This project is under active development. Features and APIs may change.

✨ Features

  • 🎯 Multiple Poll Types

    • Multiple-choice polls with instant voting
    • Visual comparison polls (side-by-side images)
    • Live results with percentages and charts
  • πŸ“± Progressive Web App

    • Install on any device
    • Offline support
    • Native app-like experience
  • 🎨 Modern UI/UX

    • Clean, intuitive interface
    • Mobile-first design
    • Smooth animations and transitions
    • Custom typography (Space Grotesk)
  • πŸ‘€ User Features

    • Authentication system
    • Guest mode option
    • Personalized avatars
    • Interactive onboarding
  • πŸ”” Real-time Updates

    • Live voting results
    • Toast notifications
    • Activity tracking

πŸš€ Tech Stack

  • Framework: Nuxt 4 with Vue 3
  • Language: TypeScript
  • Styling: Tailwind CSS 4
  • State Management: Pinia with persistence
  • PWA: @vite-pwa/nuxt
  • UI Components: Custom component library
  • Carousel: vue3-carousel-nuxt

πŸ“‹ Prerequisites

  • Node.js 18.x or higher
  • npm, pnpm, yarn, or bun

πŸ› οΈ Installation

  1. Clone the repository
git clone https://github.com/yourusername/polls.git
cd polls
  1. Install dependencies
# npm
npm install

# pnpm
pnpm install

# yarn
yarn install

# bun
bun install
  1. Start the development server
# npm
npm run dev

# pnpm
pnpm dev

# yarn
yarn dev

# bun
bun run dev

The app will be available at http://localhost:3000

πŸ“¦ Build

Build the application for production:

# npm
npm run build

# pnpm
pnpm build

# yarn
yarn build

# bun
bun run build

Preview the production build locally:

# npm
npm run preview

# pnpm
pnpm preview

# yarn
yarn preview

# bun
bun run preview

πŸ—οΈ Project Structure

polls/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ components/      # Reusable Vue components
β”‚   β”œβ”€β”€ composables/     # Vue composables
β”‚   β”œβ”€β”€ layouts/         # App layouts
β”‚   β”œβ”€β”€ pages/           # Route pages
β”‚   β”œβ”€β”€ store/           # Pinia stores
β”‚   └── utils/           # Utility functions
β”œβ”€β”€ public/              # Static assets
β”œβ”€β”€ .github/             # GitHub templates
└── nuxt.config.ts       # Nuxt configuration

🎨 Key Components

  • AppButton - Primary button component
  • AppInput - Form input component
  • Avatar - User avatar display
  • Toast - Notification system
  • Toggle/Checkbox - Form controls
  • ProgressBar - Visual progress indicator
  • BottomSlider - Mobile-friendly drawer
  • ConfirmModal - Confirmation dialogs

🀝 Contributing

We love contributions! Please read our Contributing Guide to learn about our development process and how to propose bugfixes and improvements.

Quick Start for Contributors

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ› Bug Reports

Found a bug? Please check our issue tracker to see if it's already reported. If not, feel free to open a new issue.

πŸ’‘ Feature Requests

Have an idea for a new feature? We'd love to hear about it! Please open a feature request and describe your idea.

πŸ“š Documentation

For more detailed documentation about Nuxt, check out the Nuxt documentation.

πŸ™ Acknowledgments

  • Built with Nuxt
  • Icons and design inspiration from modern UI patterns
  • Community feedback and contributions

πŸ“§ Contact

For questions or feedback, please open an issue or reach out to the maintainers.


Made with ❀️ by the Polls community

About

A modern, progressive web app for creating engaging polls with multiple formats - multiple-choice, visual comparisons, and live results. Built with Nuxt 4 and Vue 3.

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors