Poem-Portal Svelte Themes

Poem Portal

Poem Portal is an app that surprises poetry enthusiasts with a random poem. It is a single page web app deployed on Vercel built primarily with CSR using the SvelteKit meta-framework, Tailwind and Shadcn-Svelte, Vitest & Svelte Testing Library for unit testing, Supabase for Postgres & Auth, Drizzle for ORM, and TypeScript with automated CI/CD.

Poem Portal

Uses the PoetryDB API (https://poetrydb.org/) to present a user with a random poem.

Future Features:

  • Loading Spinner

  • Persistence Layer using Postgres on Supabase to save favorite poems with Drizzle as the ORM and GitHub OAuth for Auth.

  • Google OAuth.

How to run the app

  1. Clone the repo.

  2. Make sure you are using Node 20 and have Docker and Supabase installed.

  3. Run npm install -g pnpm to install pnpm.

  4. Run pnpm install to install the dependencies.

  5. With Docker running, run supabase start.

  6. Create a .env with DATABASE_URL, PUBLIC_SUPABASE_URL, PUBLIC_SUPABASE_ANON_KEY, GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET. The first three should be visible using the command supabase status. For the GitHub ones you would need to go into Developer Settings and create an OAuth App.

  7. Run pnpm run dev -- --open to start the development server and open the app in a new browser tab.

Top categories

Loading Svelte Themes