abelana

module
v0.0.0-...-11cc4ab Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2015 License: Apache-2.0

README

Abelana v2

Abelana is a simple and beautiful cross-platform application allowing users to publish and view photos.

Each user can see on the homepage of the application a photo stream where photos are ranked. Users can vote on pictures (which affects ranking and hides photos they have down-voted), and set a picture as their phone's wallpaper. They can upload their own photos for others to see, edit them and delete them. Photos reported by at least two users will be hidden in everyone's feed. Sign-in is possible using Google+/Facebook accounts, by leveraging the Google Identity Toolkit (GitKit).

The backend is a Java component exposing the APIs using the gRPC framework and running on Google Compute Engine in a Docker container, and a Go component also running on GCE in a Docker container to resize the images. Android and iOS clients are available.

See our other Google Cloud Platform github repos for sample applications and scaffolding for other frameworks and use cases.

Composition of the project

  • Android is the Android client application, connecting to the gRPCserver.
  • AppEngine is an App Engine component that will receive Google Cloud Storage notifications, schedule image resizing tasks and update the database when photos are available.
  • gRPCserver is the gRPC server handling all the requests from the clients to retrieve the data.
  • ImageResizer is a Go component that takes an uploaded image in GCS and resizes it to various sizes, in WebP.
  • iOS is the iOS client application, connecting to the gRPCserver.

Configure, deploy and run the sample

A full tutorial on Abelana explaining how it works, how to set it up and deploy it on Google Cloud Platform is available on the Google Cloud website.

Note: The mobile client implemented in the sample uses HTTP/2 without TLS/SSL security.

Contributing changes

Licensing

Directories

Path Synopsis
Godeps/_workspace/src/github.com/golang/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
Godeps/_workspace/src/github.com/golang/protobuf/proto/proto3_proto
Package proto3_proto is a generated protocol buffer package.
Package proto3_proto is a generated protocol buffer package.
Godeps/_workspace/src/github.com/google/google-api-go-client/oauth2/v2
Package oauth2 provides access to the Google OAuth2 API.
Package oauth2 provides access to the Google OAuth2 API.
Godeps/_workspace/src/golang.org/x/net/context
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Godeps/_workspace/src/golang.org/x/oauth2
Package oauth2 provides support for making OAuth2 authorized and authenticated HTTP requests.
Package oauth2 provides support for making OAuth2 authorized and authenticated HTTP requests.
Godeps/_workspace/src/golang.org/x/oauth2/clientcredentials
Package clientcredentials implements the OAuth2.0 "client credentials" token flow, also known as the "two-legged OAuth 2.0".
Package clientcredentials implements the OAuth2.0 "client credentials" token flow, also known as the "two-legged OAuth 2.0".
Godeps/_workspace/src/golang.org/x/oauth2/facebook
Package facebook provides constants for using OAuth2 to access Facebook.
Package facebook provides constants for using OAuth2 to access Facebook.
Godeps/_workspace/src/golang.org/x/oauth2/github
Package github provides constants for using OAuth2 to access Github.
Package github provides constants for using OAuth2 to access Github.
Godeps/_workspace/src/golang.org/x/oauth2/google
Package google provides support for making OAuth2 authorized and authenticated HTTP requests to Google APIs.
Package google provides support for making OAuth2 authorized and authenticated HTTP requests to Google APIs.
Godeps/_workspace/src/golang.org/x/oauth2/internal
Package internal contains support packages for oauth2 package.
Package internal contains support packages for oauth2 package.
Godeps/_workspace/src/golang.org/x/oauth2/jws
Package jws provides encoding and decoding utilities for signed JWS messages.
Package jws provides encoding and decoding utilities for signed JWS messages.
Godeps/_workspace/src/golang.org/x/oauth2/jwt
Package jwt implements the OAuth 2.0 JSON Web Token flow, commonly known as "two-legged OAuth 2.0".
Package jwt implements the OAuth 2.0 JSON Web Token flow, commonly known as "two-legged OAuth 2.0".
Godeps/_workspace/src/golang.org/x/oauth2/linkedin
Package linkedin provides constants for using OAuth2 to access LinkedIn.
Package linkedin provides constants for using OAuth2 to access LinkedIn.
Godeps/_workspace/src/golang.org/x/oauth2/odnoklassniki
Package odnoklassniki provides constants for using OAuth2 to access Odnoklassniki.
Package odnoklassniki provides constants for using OAuth2 to access Odnoklassniki.
Godeps/_workspace/src/golang.org/x/oauth2/paypal
Package paypal provides constants for using OAuth2 to access PayPal.
Package paypal provides constants for using OAuth2 to access PayPal.
Godeps/_workspace/src/golang.org/x/oauth2/vk
Package vk provides constants for using OAuth2 to access VK.com.
Package vk provides constants for using OAuth2 to access VK.com.
Godeps/_workspace/src/google.golang.org/api/googleapi
Package googleapi contains the common code shared by all Google API libraries.
Package googleapi contains the common code shared by all Google API libraries.
Godeps/_workspace/src/google.golang.org/api/googleapi/internal/uritemplates
Package uritemplates is a level 4 implementation of RFC 6570 (URI Template, http://tools.ietf.org/html/rfc6570).
Package uritemplates is a level 4 implementation of RFC 6570 (URI Template, http://tools.ietf.org/html/rfc6570).
Godeps/_workspace/src/google.golang.org/api/googleapi/transport
Package transport contains HTTP transports used to make authenticated API requests.
Package transport contains HTTP transports used to make authenticated API requests.
Godeps/_workspace/src/google.golang.org/api/storage/v1
Package storage provides access to the Cloud Storage API.
Package storage provides access to the Cloud Storage API.
Godeps/_workspace/src/google.golang.org/cloud
Package cloud contains Google Cloud Platform APIs related types and common functions.
Package cloud contains Google Cloud Platform APIs related types and common functions.
Godeps/_workspace/src/google.golang.org/cloud/bigquery
Package bigquery provides a client for the BigQuery service.
Package bigquery provides a client for the BigQuery service.
Godeps/_workspace/src/google.golang.org/cloud/bigtable
Package bigtable is an API to Google Cloud Bigtable.
Package bigtable is an API to Google Cloud Bigtable.
Godeps/_workspace/src/google.golang.org/cloud/bigtable/bttest
Package bttest contains test helpers for working with the bigtable package.
Package bttest contains test helpers for working with the bigtable package.
Godeps/_workspace/src/google.golang.org/cloud/bigtable/cmd/cbt
Cbt is a tool for doing basic interactions with Cloud Bigtable.
Cbt is a tool for doing basic interactions with Cloud Bigtable.
Godeps/_workspace/src/google.golang.org/cloud/bigtable/internal/cluster_data_proto
Package google_bigtable_admin_cluster_v1 is a generated protocol buffer package.
Package google_bigtable_admin_cluster_v1 is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/cloud/bigtable/internal/cluster_service_proto
Package google_bigtable_admin_cluster_v1 is a generated protocol buffer package.
Package google_bigtable_admin_cluster_v1 is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/cloud/bigtable/internal/data_proto
Package google_bigtable_v1 is a generated protocol buffer package.
Package google_bigtable_v1 is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/cloud/bigtable/internal/empty
Package google_protobuf is a generated protocol buffer package.
Package google_protobuf is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/cloud/bigtable/internal/service_proto
Package google_bigtable_v1 is a generated protocol buffer package.
Package google_bigtable_v1 is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/cloud/bigtable/internal/table_data_proto
Package google_bigtable_admin_table_v1 is a generated protocol buffer package.
Package google_bigtable_admin_table_v1 is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/cloud/bigtable/internal/table_service_proto
Package google_bigtable_admin_table_v1 is a generated protocol buffer package.
Package google_bigtable_admin_table_v1 is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/cloud/bigtable/sample
This is a sample web server that uses Cloud Bigtable as the storage layer for a simple document-storage and full-text-search service.
This is a sample web server that uses Cloud Bigtable as the storage layer for a simple document-storage and full-text-search service.
Godeps/_workspace/src/google.golang.org/cloud/compute/metadata
Package metadata provides access to Google Compute Engine (GCE) metadata and API service accounts.
Package metadata provides access to Google Compute Engine (GCE) metadata and API service accounts.
Godeps/_workspace/src/google.golang.org/cloud/container
Package container contains a Google Container Engine client.
Package container contains a Google Container Engine client.
Godeps/_workspace/src/google.golang.org/cloud/datastore
Package datastore contains a Google Cloud Datastore client.
Package datastore contains a Google Cloud Datastore client.
Godeps/_workspace/src/google.golang.org/cloud/examples/bigquery/concat_table
concat_table is an example client of the bigquery client library.
concat_table is an example client of the bigquery client library.
Godeps/_workspace/src/google.golang.org/cloud/examples/bigquery/load
load is an example client of the bigquery client library.
load is an example client of the bigquery client library.
Godeps/_workspace/src/google.golang.org/cloud/examples/bigquery/query
query is an example client of the bigquery client library.
query is an example client of the bigquery client library.
Godeps/_workspace/src/google.golang.org/cloud/examples/bigquery/read
read is an example client of the bigquery client library.
read is an example client of the bigquery client library.
Godeps/_workspace/src/google.golang.org/cloud/examples/pubsub/cmdline
Package main contains a simple command line tool for Cloud Pub/Sub Cloud Pub/Sub docs: https://cloud.google.com/pubsub/docs
Package main contains a simple command line tool for Cloud Pub/Sub Cloud Pub/Sub docs: https://cloud.google.com/pubsub/docs
Godeps/_workspace/src/google.golang.org/cloud/examples/storage/appengine
Package gcsdemo is an example App Engine or Mananged VM app using the Google Cloud Storage API.
Package gcsdemo is an example App Engine or Mananged VM app using the Google Cloud Storage API.
Godeps/_workspace/src/google.golang.org/cloud/examples/storage/appenginevm
Package gcsdemo is an example App Engine or Mananged VM app using the Google Cloud Storage API.
Package gcsdemo is an example App Engine or Mananged VM app using the Google Cloud Storage API.
Godeps/_workspace/src/google.golang.org/cloud/internal
Package internal provides support for the cloud packages.
Package internal provides support for the cloud packages.
Godeps/_workspace/src/google.golang.org/cloud/internal/datastore
Package datastore is a generated protocol buffer package.
Package datastore is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/cloud/internal/testutil
Package testutil contains helper functions for writing tests.
Package testutil contains helper functions for writing tests.
Godeps/_workspace/src/google.golang.org/cloud/pubsub
Package pubsub contains a Google Cloud Pub/Sub client.
Package pubsub contains a Google Cloud Pub/Sub client.
Godeps/_workspace/src/google.golang.org/cloud/storage
Package storage contains a Google Cloud Storage client.
Package storage contains a Google Cloud Storage client.
Godeps/_workspace/src/google.golang.org/grpc
Package grpc implements an RPC system called gRPC.
Package grpc implements an RPC system called gRPC.
Godeps/_workspace/src/google.golang.org/grpc/benchmark
Package benchmark implements the building blocks to setup end-to-end gRPC benchmarks.
Package benchmark implements the building blocks to setup end-to-end gRPC benchmarks.
Godeps/_workspace/src/google.golang.org/grpc/benchmark/grpc_testing
Package grpc_testing is a generated protocol buffer package.
Package grpc_testing is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/grpc/codes
Package codes defines the canonical error codes used by gRPC.
Package codes defines the canonical error codes used by gRPC.
Godeps/_workspace/src/google.golang.org/grpc/credentials
Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client's identity, role, or whether it is authorized to make a particular call.
Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client's identity, role, or whether it is authorized to make a particular call.
Godeps/_workspace/src/google.golang.org/grpc/examples/route_guide/client
Package main implements a simple gRPC client that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs.
Package main implements a simple gRPC client that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs.
Godeps/_workspace/src/google.golang.org/grpc/examples/route_guide/proto
Package proto is a generated protocol buffer package.
Package proto is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/grpc/examples/route_guide/server
Package main implements a simple gRPC server that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs.
Package main implements a simple gRPC server that demonstrates how to use gRPC-Go libraries to perform unary, client streaming, server streaming and full duplex RPCs.
Godeps/_workspace/src/google.golang.org/grpc/grpclog
Package grpclog defines logging for grpc.
Package grpclog defines logging for grpc.
Godeps/_workspace/src/google.golang.org/grpc/interop/grpc_testing
Package grpc_testing is a generated protocol buffer package.
Package grpc_testing is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/grpc/metadata
Package metadata define the structure of the metadata supported by gRPC library.
Package metadata define the structure of the metadata supported by gRPC library.
Godeps/_workspace/src/google.golang.org/grpc/test/codec_perf
Package codec_perf is a generated protocol buffer package.
Package codec_perf is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/grpc/test/grpc_testing
Package grpc_testing is a generated protocol buffer package.
Package grpc_testing is a generated protocol buffer package.
Godeps/_workspace/src/google.golang.org/grpc/transport
Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC).
Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC).

Jump to

Keyboard shortcuts

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