An open API service indexing awesome lists of open source software.

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

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`.