Coder Social home page Coder Social logo

ceecer1 / xebia-mobile-backend-play-scala Goto Github PK

View Code? Open in Web Editor NEW

This project forked from akinsella/xebia-mobile-backend-play-scala

0.0 2.0 0.0 1.79 MB

Scala 27.70% Java 1.71% HTML 9.31% ApacheConf 0.95% Shell 0.36% Ruby 0.05% CSS 12.15% JavaScript 47.77%

xebia-mobile-backend-play-scala's Introduction

xebia-mobile-backend-play-scala

This file will be packaged with your application, when using play dist.

=======

Xebia Mobile Backend

##Goals This backend is a proxy for feeding data from several sources for Xebia Mobile application. It's written with Play! framework 2.0 in Scala.

It collects informations from :

  • Github
  • Twitter
  • Eventbrite
  • Xebia french blog

Then it caches the responses and provides information for the Xebia Mobile application throught REST APIs.

It also aims at publishing notifications for registered users for Apple and Android devices.

##Install me This software needs :

Sass for CSS

gem install sass

Play! Framework 2.0 and Scala compiler

Check and download the last version of 2.0 Play Framework version here

Think about installing the Play! Plugin for your favorite IDE.

Redis

The cache system uses Redis. You can download the source from the Redis website.

HINT: On MacOS, think about installing XCode and Command line tools in order to compile Redis with make command

Create a file in ~/.redis/redis.conf with the following content requirepass Password123

Then you can launch the Redis server with

src/redis-server ~/.redis/redis.conf

Postgres

On MacOS, you can download the Postgres quick App from here.

Simply launch the application to get an up and running database. Create a database named

xebia-mobile-backend

##APIs key ids This application feeds data from several public providers thanks to their REST APIs. The more often, you need keys to sign your requests and you are limited in a small number of queries per day.

In order to get a fully working version of this backend, you need your own keys.

Eventbrite

Go to the Eventbrite website for developper and suscribe to EventBrite to get your own key. Then, set an environment variable with it

export API_EVENTBRITE_APP_KEY = xxxx

Twitter

In the same manner, go to Dev Twitter website and sign in with your twitter account. Declare your new app. Register a token for your account then, get the key XXX and set and environment variable for it :

export API_TWITTER_APP_KEY = XXX
export API_TWITTER_APP_SECRET = XXX

REST APIs

REST APIs will be powered by Swagger Swagger provides a set of annotations to be placed in the REST controllers. The framework has its own controller that generates JSON description your the application REST APIs. To get this controller, you need to clone Swagger from the Github repo. Then publish in local the modules swagger-play2-utils

git clone https://github.com/wordnik/swagger-core.git

cd modules/swagger-play2-utils

play publish-local

Start the server, then go to the URL /api. You can parse the content of your API and try it from live!

Run the application in dev mode:

play debug -Djava.util.logging.config.file=logging.properties run

Social Secure

Add this env variables to your profile:

export GMAIL_XEBIA_MOBILE_BACKEND_USER="<user>@xebia.fr"
export GMAIL_XEBIA_MOBILE_BACKEND_PASSWORD="<some_two_step_generated_revokable_password>"

xebia-mobile-backend-play-scala's People

Contributors

akinsella avatar

Watchers

James Cloos avatar Shishir 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.