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.
- Laravel 13 on PHP 8.3
- Inertia.js + Vue 3
- Tailwind CSS 4 via Vite
- SQLite (default)
- Pest for tests
cp .env.example .env
composer install
npm install
php artisan migrate
php artisan key:generate
composer devcomposer dev runs the PHP dev server, the queue listener, Laravel Pail (log tail), and Vite in parallel.
/— 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
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.
php artisan test