Skip to content

AbhiAgarwal/abelana

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 71.8%
  • Swift 13.0%
  • Objective-C 11.8%
  • Protocol Buffer 1.4%
  • Go 1.2%
  • Ruby 0.6%
  • HTML 0.2%