https://github.com/denysvitali/photobooth-server
A Raspberry-Pi based Photobooth
https://github.com/denysvitali/photobooth-server
booth go photo photobooth pi raspberry raspberry-pi
Last synced: about 1 month ago
JSON representation
A Raspberry-Pi based Photobooth
- Host: GitHub
- URL: https://github.com/denysvitali/photobooth-server
- Owner: denysvitali
- License: mit
- Created: 2025-03-31T22:08:31.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-31T22:24:06.000Z (about 1 year ago)
- Last Synced: 2026-04-03T11:32:19.911Z (2 months ago)
- Topics: booth, go, photo, photobooth, pi, raspberry, raspberry-pi
- Language: Go
- Homepage: https://photobooth.slides.denv.it
- Size: 111 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# photobooth-server
The backend of my Photobooth project.
For the frontend, check out [photobooth-frontend](https://github.com/denysvitali/photobooth-frontend).
## Introduction
This is the backend of my Photobooth project. It connects to a [gphoto2 supported camera](https://gphoto.org/proj/libgphoto2/support.php) and provides a REST API to control it. It also provides a WebSocket connection to view the camera preview.
It's suggested to look at the slides [photobooth.slides.denv.it](https://photobooth.slides.denv.it) to understand the project better.
## Requirements
- [photobooth-frontend](https://github.com/denysvitali/photobooth-frontend) to display the UI
- Eventually [photobooth-os](https://github.com/denysvitali/photobooth-os) as the OS
## Installation
```
go install ./
```
You can then run the server with `photobooth-server`.
## Connecting to Google Photos
To be able to upload the resulting pictures to Google Photos, make sure to place a `client_secret.json` file in the same directory where you're running `photobooth-server`.
You can get this file by creating a new project in the [Google Cloud Console](https://console.cloud.google.com/apis/credentials) and enabling the Google Photos API. Make sure to set the redirect URI to `http://localhost:8080/google/oauth2/callback`. The server will then handle the OAuth2 flow for you.
Once you start the server, you can then visit http://localhost:8080/auth/google-photos to start the authentication flow. After this is done, you'll be able to upload pictures to Google Photos on the album specified in `internal/const.go`.