CloudCam
CloudCam is a modern camera app built with SvelteKit and Capacitor, designed to save photos directly to the cloud. It features a Progressive Web App (PWA) experience, native Android support, and seamless integration with Cloudflare R2 for image storage.
Features
- Take Photos: Capture images using your device's camera via Capacitor.
- Cloud Storage: Instantly upload photos to Cloudflare R2, ensuring you never run out of space.
- Gallery: View your saved photos in a dedicated gallery page.
- Authentication: Secure access to your content with AuthLock.
- PWA Support: Install CloudCam on your device for a native-like experience.
- Responsive UI: Clean, mobile-first design with Tailwind CSS.
- Native Android: Optimized for Android devices with custom status bar and theming.
Getting Started
Prerequisites
Android (Native)
- Sync Capacitor:
pnpm cap sync android
# or
npx cap sync android
- Open Android Studio:
pnpm cap open android
# or
npx cap open android
- Build and run on device/emulator.
Usage
- Take a Photo: Click the "Click Photo" button on the main page.
- Save to Cloud: After taking a photo, click "Save Photo" to upload to Cloudflare R2.
- View Gallery: Access your saved images via the "View Photos" button.
- Install as PWA: Use the install prompt or browser menu to add CloudCam to your device.
Project Structure
src/routes/+layout.svelte
: Main app layout, navigation, authentication, and PWA logic.
src/routes/+page.svelte
: Main camera page, photo capture, and upload logic.
src/lib/
: Shared components, state management, and Cloudflare R2 client.
android/
: Native Android project files for Capacitor.
build/
, static/
, resources/
: Assets and build outputs.
Credits
Made with ♥️ by Jamal Haneef & Wurks.