Re‑Photo Booth is an open‑source photobooth platform designed to run on recycled iPads or tablets installed in repurposed Tritan Hearing kiosks. It allows guests to take photos at weddings, events, festivals, conferences and public spaces. The application is built with Django and runs entirely on commodity hardware without relying on third‑party cloud services.
- Event branding: configure logos, backgrounds, overlay frames and colour themes per event via the admin interface.
- Capture flow: guests select their event, choose a filter and mode (single or photo strip), watch a countdown and capture photos using the built‑in camera.
- Client‑side processing: brightness, contrast and saturation filters are applied in the browser. Multiple photos are combined into a vertical strip for “photo strip” mode.
- QR code delivery: each photo generates a unique URL and QR code so guests can download their images instantly.
- Email delivery: optional email collection sends the photo directly to the guest with the image attached.
- Printing: integration with CUPS allows photos to be printed on a configured printer. Printing can be disabled if no printer is configured.
- Offline mode: if the booth loses connectivity the captured image is stored in the browser’s local storage and uploaded automatically when connectivity returns.
- Gallery and analytics: staff can browse captured photos, search by email and view basic analytics such as photo counts and top events.
-
Clone this repository and install the Python dependencies. A virtual environment is recommended:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -
Copy
.env.exampleto.envand customise it for your environment. At a minimum you must setSECRET_KEYand configureALLOWED_HOSTS. -
Create the database and run migrations:
python manage.py migrate
-
Create a superuser to access the Django admin:
python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
-
Visit
http://localhost:8000/admin/to log in and create your first Theme, Event and Booth. Then navigate to the root URL to test the photobooth flow.
For production use it is recommended to run the application with a WSGI
server such as Gunicorn behind a reverse proxy (e.g. Nginx) and to serve
static and media files from a dedicated storage provider. An example
docker-compose.yml file can be added to orchestrate the web server and a
database. Ensure that the PHOTOBOOTH_PRINTER environment variable is set
to the name of your CUPS printer if printing is enabled.
The project includes a minimal test suite. To run the tests, execute:
python manage.py testContributions are welcome! Please open issues or pull requests to propose improvements or new features.