glukit

command module
v0.0.0-...-a2a2cd2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2023 License: MIT, MIT Imports: 40 Imported by: 0

README

Glukit

Requirements:

  1. Install Google App Engine GO SDK: https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Go
  2. Read the Getting Started case in case of need: https://developers.google.com/appengine/docs/go/gettingstarted/devenvironment
  3. Get ruby (only for SCSS support), compass, bower and claymate (for gumby and front-end)
  4. safekeeper for generating source with client ids/secrets: go get github.com/alexandre-normand/safekeeper
  5. Go in ./view and run claymate install.
  6. Setup environment variables with the following and run go generate github.com/alexandre-normand/glukit/app/secrets:
```
LOCAL_CLIENT_ID="google-client-id-for-localhost"
LOCAL_CLIENT_SECRET="google-client-secret-for-localhost"
PROD_CLIENT_ID=""
PROD_CLIENT_SECRET=""
TEST_STRIPE_KEY="stripe-test-key"
TEST_STRIPE_PUBLISHABLE_KEY="stripe-test-publishable-key"
PROD_STRIPE_KEY=""
PROD_STRIPE_PUBLISHABLE_KEY=""
```
  1. Setup client ids and secrets using the datastore administration UI (as an osin.client entity):
* Generate a client secret using something like `openssl rand -base64 24`
* Generate a client id using something like `echo "`openssl rand -hex 14`.mygluk.it"`
* Note the `RedirectUri` expected by the authenticating application (i.e. `x-glukloader://oauth/callback`)
* Create a new `osin.client` entity using those values. The `key.identifier` should match the generated client id.

Misc

To make SCSS changes, use compass build or compass watch.

Running it:

From , execute goapp serve and hit http://localhost:8080.

Deploy:

gcloud app deploy

Documentation

Overview

The glukit package is the main package for the application. This is where it all starts.

+build !appengine

Directories

Path Synopsis
app
bufio
Package io provider buffered io to provide an efficient mecanism to accumulate data prior to physically persisting it.
Package io provider buffered io to provide an efficient mecanism to accumulate data prior to physically persisting it.
config
config package wraps configuration accessors
config package wraps configuration accessors
container
Package container provides a functional-style compatible immutable list.
Package container provides a functional-style compatible immutable list.
engine
The engine package is where the magic happens.
The engine package is where the magic happens.
model
Package models provides model types
Package models provides model types
payment
Payment package handles interaction with Stripe for processing donations
Payment package handles interaction with Stripe for processing donations
store
This package provides the interface and functions to deal with the storage of data.
This package provides the interface and functions to deal with the storage of data.
util
The util package contains general functions to support the other packages (timeutils, sysutils)
The util package contains general functions to support the other packages (timeutils, sysutils)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL