Skip to content

SnapShare – A modern FastAPI event photo sharing app with S3/MinIO cloud storage, privacy options, mobile-friendly UI, and customizable SVG backgrounds. Easily upload, view, and share event photos in real time. Docker-ready for quick deployment.

License

Notifications You must be signed in to change notification settings

sysm0n/SnapShare

Repository files navigation

SnapShare Logo

SnapShare: Event Photo Gallery

A modern FastAPI web application for event photo sharing with S3/MinIO cloud storage, user identification, and privacy options.

Features

  • Customizable event name (via environment variable)
  • User identification (enter name, stored in cookie)
  • Photo upload (camera and gallery)
  • S3/MinIO integration for cloud storage
  • Privacy option: show only own photos or all
  • Mobile-friendly, clean UI
  • Tap any gallery image to view it larger in a modal (mobile & desktop)
  • Optional custom SVG background (add background.svg to project root)
  • Dockerized deployment

Quick Start

1. Clone the repository

git clone https://github.com/sysm0n/snapshare.git
cd snapshare

2. Configure environment variables

Edit docker-compose.yml to set your event name, S3/MinIO credentials, and privacy settings:

  environment:
    - EVENT_NAME=Event Name
    - S3_ENDPOINT=minio:9000
    - S3_ACCESS_KEY=ROOTNAME
    - S3_SECRET_KEY=CHANGEME123
    - S3_BUCKET=event1
    - SHOW_ONLY_OWN_PHOTOS=true

3. Build and run with Docker Compose

docker-compose up --build

The app will be available at http://localhost:8000

MinIO Console: http://localhost:9001

4. Usage

  • Open the app in your browser
  • Enter your name to start uploading and viewing photos
  • Use the camera or gallery upload buttons
  • Tap any photo in the gallery to view it larger; close the modal by tapping outside or the close button
  • If background.svg is present and enabled, the app displays it as a stylish background
  • Gallery updates in real time
  • If privacy is enabled, you only see your own photos

Customization

  • Change event name and privacy in docker-compose.yml
  • Use your own S3/MinIO credentials
  • Style the UI in frontend/style.css
  • To use a custom SVG background, place your background.svg in the project root and set USE_BACKGROUND=true in docker-compose.yml

License

MIT


Made with ❤️ for events and memories.

About

SnapShare – A modern FastAPI event photo sharing app with S3/MinIO cloud storage, privacy options, mobile-friendly UI, and customizable SVG backgrounds. Easily upload, view, and share event photos in real time. Docker-ready for quick deployment.

Resources

License

Stars

Watchers

Forks