Skip to content

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.

License

Notifications You must be signed in to change notification settings

Ari-S-123/Poem-Portal

Repository files navigation

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

Screenshot

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 22 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.

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published