Giter Club home page Giter Club logo

abelana's Introduction

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 framwork 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

abelana's People

Contributors

lesv avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.