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.
β οΈ Note: This project is under active development. Features and APIs may change.
-
π― 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
- 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
- Node.js 18.x or higher
- npm, pnpm, yarn, or bun
- Clone the repository
git clone https://github.com/yourusername/polls.git
cd polls- Install dependencies
# npm
npm install
# pnpm
pnpm install
# yarn
yarn install
# bun
bun install- Start the development server
# npm
npm run dev
# pnpm
pnpm dev
# yarn
yarn dev
# bun
bun run devThe app will be available at http://localhost:3000
Build the application for production:
# npm
npm run build
# pnpm
pnpm build
# yarn
yarn build
# bun
bun run buildPreview the production build locally:
# npm
npm run preview
# pnpm
pnpm preview
# yarn
yarn preview
# bun
bun run previewpolls/
βββ 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
- 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
We love contributions! Please read our Contributing Guide to learn about our development process and how to propose bugfixes and improvements.
- Fork the repository
- Create your 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
This project is licensed under the MIT License - see the LICENSE file for details.
Found a bug? Please check our issue tracker to see if it's already reported. If not, feel free to open a new issue.
Have an idea for a new feature? We'd love to hear about it! Please open a feature request and describe your idea.
For more detailed documentation about Nuxt, check out the Nuxt documentation.
- Built with Nuxt
- Icons and design inspiration from modern UI patterns
- Community feedback and contributions
For questions or feedback, please open an issue or reach out to the maintainers.
Made with β€οΈ by the Polls community