Skip to content

armandohimself/svelte-spotify-app

Repository files navigation

🎧 SvelteKit Spotify Project

A modern Spotify-style app built with SvelteKit, TypeScript, TailwindCSS, and full testing coverage using ViTest and Playwright. It uses the Spotify Web API to pull real user data including playlists, tracks, and profile information.

This project demonstrates:

  • Clean architecture and separation of concerns
  • Signal-based reactivity in Svelte 5
  • OAuth 2.0 login with PKCE (Proof Key for Code Exchange)
  • Testing best practices
  • Global styling with Sass + utility-first Tailwind

πŸš€ Tech Stack

  • SvelteKit β€” lightning-fast frontend framework
  • Vite β€” next-gen build tool (used under the hood by SvelteKit)
  • TypeScript β€” typed safety and clarity
  • TailwindCSS β€” utility-first styling
  • ViTest β€” component and logic testing
  • Playwright β€” end-to-end browser testing
  • ESLint + Prettier β€” consistent code formatting and linting

πŸ“¦ Getting Started

1. Clone & Install

git clone https://github.com/armandohimself/svelte-spotify-app.git
cd svelte-spotify-app
npm install

2. Start Dev Server

npm run dev -- --open

Then open your browser to http://localhost:5173 (or it opens automatically with --open).

πŸ§ͺ Testing

βœ… Unit & Component Tests (ViTest)

npm run test

βœ… End-to-End Tests (Playwright)

npx playwright install
npm run test:e2e

Playwright will simulate user flows like adding songs, navigating playlists, and checking responsive behavior.

πŸ—οΈ Building for Production

npm run build

Then preview your optimized app with:

npm run preview

πŸ”§ For deployment, install the correct SvelteKit adapter based on your hosting platform (Vercel, Netlify, Node, etc.).

πŸ› οΈ Dev Tools & VS Code Extensions

For the best developer experience, install:

  • Svelte for VS Code
  • ESLint
  • Prettier

πŸ“¦ NPM Dependency Links

πŸ”— Useful Links

🎧 Spotify + πŸ” Auth

πŸ§‘πŸ½β€πŸ’» Framework & Code

πŸ§ͺ Testing

🎨 Styling

Svelte Dev Society also curates some great tools: πŸ”— Editor Support & Resources

πŸ’» System Requirements

  • Node.js: >=18.0.0
  • npm: >=9.0.0

You can check your versions with:

node -v
npm -v

Userful NPM Commands

  • Check Svelte/SvelteKit version: npm list svelte @sveltejs/kit

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published