Skip to content

unlearndev/workshop-quickpoll

Repository files navigation

QuickPoll

A tiny shareable poll app. Create a poll, share the link, collect email-verified votes.

The starter project for the "From Idea to Production with AI Workflows" workshop hands-on exercise from Unlearn.

Stack

  • Laravel 13 on PHP 8.3
  • Inertia.js + Vue 3
  • Tailwind CSS 4 via Vite
  • SQLite (default)
  • Pest for tests

Setup

cp .env.example .env
composer install
npm install
php artisan migrate
php artisan key:generate
composer dev

composer dev runs the PHP dev server, the queue listener, Laravel Pail (log tail), and Vite in parallel.

How it works

  • / — create a poll (2–10 options)
  • /a/{admin_token} — admin view (tallies, close button)
  • /p/{slug} — public vote form (or results, if you've already voted)
  • Submitting the form emails a magic link; clicking it records the vote
  • Votes are deduped per (poll, email) by an HMAC-SHA-256 of the email keyed on a per-poll salt

Magic links in local dev

MAIL_MAILER=log writes outgoing mail (including magic links) to storage/logs/laravel.log. Tail it with Pail or tail -f storage/logs/laravel.log, then copy the /vote/... URL into your browser.

Tests

php artisan test

About

Workshop project repo for the "From Idea to Production with AI Workflows" workshop by Unlearn.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors