A client-side web application for managing recipes, written in Go and Polymer
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app/js
config
db
defs
router
src
tools
vendor
.bowerrc
.gitignore
LICENSE
README.md
bower.json
index.html
main.go
package.json
polymer.json
yarn.lock

README.md

Recipes

A client-side web application for managing recipes, written in Go and Polymer.

Dependencies

  • PostgreSQL >= 9.4
  • Node.js and NPM
  • Go
  • Govendor
  • NGINX, or another reverse proxy to handle TLS

Description

This project provides a simple web application where users can view and upload recipes. It's designed for mobile, so it works great with your phone in the kitchen.

The front end uses Polymer. The back end uses Go and PostgreSQL. Go dependencies are managed as git submodules because using go get has no concept of version numbers.

Authentication is done using OAuth 2.0 with Google. No Google services are accessed after authentication.

The Node.js dependency is somewhat silly; it's only there to use Bower to manage client-side dependencies. If anyone knows of a better way, let me know.

The old version using Node.js and MongoDB is still available at https://github.com/rwestlund/recipes-v1.

Installation

  1. Install dependencies list above
  2. Clone this repo in your GOPATH: $GOPATH/src/github.com/rwestlund/recipes
  3. Run npm install
  4. Run npm run bower install
  5. Run govendor sync
  6. Copy src/config/config.go.example to src/config/config.go and set parameters
  7. Configure a reverse proxy (like NGINX) to handle TLS
  8. Manually add yourself to the users table in PostgreSQL
  9. Run go run main.go

License

This code is under the BSD-2-Clause license. See the LICENSE file for the full text.