A web-based panorama creation tool built with SvelteKit that allows users to upload images and videos to create seamless panoramic compositions.
- Media Upload: Drop zone interface for uploading images and videos
- Interactive Canvas: Drag and drop media elements to create panoramas
- Media Inspector: Detailed view and manipulation of individual media items
- Video Support: Handle both images and video files
- Real-time Preview: Live preview of panorama as you build it
- Export Functionality: Download completed panoramas
- Frontend: SvelteKit 5 with TypeScript
- Styling: Tailwind CSS 4
- Canvas: Fabric.js for interactive canvas manipulation
- State Management: Tanstack Query for data fetching
- Icons: Lucide Svelte
- Testing: Vitest with Testing Library
- Node.js (latest LTS version)
- npm or pnpm
# Clone the repository
git clone https://github.com/dw-innovation/kid2-you-stitch-it-frontend.git
cd kid2-you-stitch-it-frontend
# Install dependencies
npm install
# Copy environment variables
cp .env.example .env
# Edit .env with your configurationnpm run devnpm run buildsrc/
lib/
ui/ # Reusable UI components
MediaLibrary/ # Media management components
MediaInspector/ # Media detail components
Modals/ # Modal dialogs
routes/ # SvelteKit routes
assets/ # Static assets
Copy .env.example to .env and configure the following variables:
PUBLIC_STITCH_API: URL of the panorama stitcher API backend
PUBLIC_MATOMO_SITE_ID: Matomo site ID for analytics trackingPUBLIC_MATOMO_URL: Matomo analytics server URLPUBLIC_MATOMO_PAGE_URL: Page URL for Matomo tracking
MONGODB_DBNAME: MongoDB database nameMONGODB_URI: MongoDB connection string
MIT License - see the LICENSE file for details.
https://github.com/dw-innovation/kid2-you-stitch-it-frontend