Features โข Demo โข Quick Start โข Deployment โข Architecture
MovieSavanna is a modern, full-stack movie discovery and streaming platform built with Svelte. It provides users with personalized movie recommendations, comprehensive search capabilities, user authentication, favorites management, and a sleek, responsive interface.
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ SvelteKit 5 โ โ TailwindCSS 4 โ โ TypeScript โ
โ (Frontend) โ โ (Styling) โ โ (Type Safety) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโ
โ Component Architecture โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ Routes โ โ Components โ โ
โ โ โ โ โ โ
โ โ โข (home) โ โ โข Movies โ โ
โ โ โข (app) โ โ โข Auth โ โ
โ โ โข (authed) โ โ โข General โ โ
โ โ โข api โ โ โข Dashboard โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ TMDB API โ โ Supabase โ โ Vercel โ
โ (Movie Data) โ โ (Database) โ โ (Hosting) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโ
โ API Architecture โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ Movie APIs โ โ User APIs โ โ
โ โ โ โ โ โ
โ โ โข Search โ โ โข Auth โ โ
โ โ โข Details โ โ โข Profile โ โ
โ โ โข Popular โ โ โข Favorites โ โ
โ โ โข Discover โ โ โข Settings โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Category | Technology | Purpose |
---|---|---|
Frontend | SvelteKit 5 | Modern reactive framework |
Styling | TailwindCSS 4 | Utility-first CSS framework |
Language | TypeScript | Type-safe development |
Database | Supabase | Backend-as-a-Service |
APIs | TMDB API | Movie data and metadata |
Hosting | Vercel | Serverless deployment |
Testing | Vitest + Playwright | Unit and E2E testing |
CI/CD | GitHub Actions | Automated workflows |
Clone the repository
git clone https://github.com/yourusername/MovieSavanna.git
cd MovieSavanna
Install dependencies
npm install
Environment setup
cp .env.example .env
Fill in your environment variables:
TMDB_API_KEY=your_tmdb_api_key
TMDB_BASE_URL=https://api.themoviedb.org/3
TMDB_IMAGE_BASE_URL=https://image.tmdb.org/t/p
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_anon_key
NODE_ENV=development
ACTIVATION_URL=http://localhost:5173/activation
Start development server
npm run dev
Open your browser
http://localhost:5173
MovieSavanna includes comprehensive testing with 100% test coverage:
# Unit tests (19 tests)
npm run test:unit
# E2E tests
npm run test:e2e
# All tests
npm run test
# Type checking
npm run check
# Code linting
npm run lint
MovieSavanna is production-ready with automated CI/CD pipeline:
# Deploy to production
./deploy.ps1 production
# Deploy preview
./deploy.ps1 preview
For detailed deployment instructions, see DEPLOYMENT.md
MovieSavanna/
โโโ ๐ src/
โ โโโ ๐ lib/
โ โ โโโ ๐ api/ # API services
โ โ โโโ ๐ components/ # Reusable components
โ โ โโโ ๐ services/ # Business logic
โ โ โโโ ๐ types/ # TypeScript definitions
โ โ โโโ ๐ utils/ # Utility functions
โ โโโ ๐ routes/
โ โ โโโ ๐ (home)/ # Public pages
โ โ โโโ ๐ (app)/ # App dashboard
โ โ โโโ ๐ (authed)/ # Authentication
โ โ โโโ ๐ api/ # API endpoints
โ โโโ ๐ webcomponents/ # UI components
โโโ ๐ static/ # Static assets
โโโ ๐ images/ # Screenshots
โโโ ๐ DEPLOYMENT.md # Deployment guide
โโโ ๐ QUICK-DEPLOY.md # Quick start guide
โโโ ๐ deploy.ps1 # Deployment script
We welcome contributions! Please see our contributing guidelines:
git checkout -b feature/amazing-feature
)git commit -m 'Add amazing feature'
)git push origin feature/amazing-feature
)This project is licensed under the MIT License - see the LICENSE file for details.
Blue - Full Stack Developer
Built with โค๏ธ for movie enthusiasts everywhere
MovieSavanna ยฉ 2024 | Made with โ and ๐ฌ