All Projects → IBM → akka-react-cloudant

IBM / akka-react-cloudant

Licence: other
A Soccer Dashboard created by scraping EPL website using Akka backend and ReactJS frontend and IBM Cloudant for object storage. IBM Cloud Foundry is used to host both frontend and backend app.

Programming Languages

CSS
56736 projects
scala
5932 projects
javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
HTML
75241 projects

Projects that are alternatives of or similar to akka-react-cloudant

Akka Http Json
Integrate some of the best JSON libs in Scala with Akka HTTP
Stars: ✭ 530 (+2423.81%)
Mutual labels:  akka, akka-http
Scale
Another example of a REST API with Akka HTTP
Stars: ✭ 23 (+9.52%)
Mutual labels:  akka, akka-http
Akka Http Microservice
Example of http (micro)service in Scala & akka-http
Stars: ✭ 701 (+3238.1%)
Mutual labels:  akka, akka-http
scala-web-development
Scala Web 开发 - 使用 Akka
Stars: ✭ 42 (+100%)
Mutual labels:  akka, akka-http
Scala Ddd Example
🎯 λ Hexagonal Architecture + DDD + CQRS applied in Scala using Akka HTTP
Stars: ✭ 86 (+309.52%)
Mutual labels:  akka, akka-http
Akka Grpc
Akka gRPC
Stars: ✭ 361 (+1619.05%)
Mutual labels:  akka, akka-http
Otoroshi
Lightweight api management on top of a modern http reverse proxy
Stars: ✭ 177 (+742.86%)
Mutual labels:  akka, akka-http
ssl-config
SSL configuration logic, extracted from Play's WS (for use in Akka et al).
Stars: ✭ 65 (+209.52%)
Mutual labels:  akka, akka-http
Swagger Akka Http Sample
Sample demonstrating use of swagger-akka-http
Stars: ✭ 79 (+276.19%)
Mutual labels:  akka, akka-http
Akka Http
The Streaming-first HTTP server/module of Akka
Stars: ✭ 1,163 (+5438.1%)
Mutual labels:  akka, akka-http
Akka Management
Akka Management is a suite of tools for operating Akka Clusters.
Stars: ✭ 218 (+938.1%)
Mutual labels:  akka, akka-http
Akka Http Quickstart Scala.g8
Stars: ✭ 103 (+390.48%)
Mutual labels:  akka, akka-http
typebus
Framework for building distributed microserviceies in scala with akka-streams and kafka
Stars: ✭ 14 (-33.33%)
Mutual labels:  akka, akka-http
Akka Http Session
Web & mobile client-side akka-http sessions, with optional JWT support
Stars: ✭ 429 (+1942.86%)
Mutual labels:  akka, akka-http
kamon-akka-http
Kamon integration for metrics, context and distributed tracing with Akka HTTP
Stars: ✭ 75 (+257.14%)
Mutual labels:  akka, akka-http
Es Cqrs Shopping Cart
A resilient and scalable shopping cart system designed using Event Sourcing (ES) and Command Query Responsibility Segregation (CQRS)
Stars: ✭ 19 (-9.52%)
Mutual labels:  akka, akka-http
jwt-akka-http
An example how to implement a very simple authentication and authorization with Akka HTTP. Related to https://blog.codecentric.de/en/2017/09/jwt-authentication-akka-http
Stars: ✭ 23 (+9.52%)
Mutual labels:  akka, akka-http
ecommerce
A project for exploring Akka with Scala
Stars: ✭ 24 (+14.29%)
Mutual labels:  akka, akka-http
Spark As Service Using Embedded Server
This application comes as Spark2.1-as-Service-Provider using an embedded, Reactive-Streams-based, fully asynchronous HTTP server
Stars: ✭ 46 (+119.05%)
Mutual labels:  akka, akka-http
Squbs
Akka Streams & Akka HTTP for Large-Scale Production Deployments
Stars: ✭ 1,365 (+6400%)
Mutual labels:  akka, akka-http

Soccer Dashboard with Akka and ReactJS

Build Status

In this code pattern, we will create a Soccer Dashboard for English Premier League. The dashboard is created by web crawling the https://www.premierleague.com/ website. The back end utilizes Akka Actor, the front end is done with ReactJS and the data storage is using IBM Cloudant. And the code is deployed on Cloud Foundry.

Flow

Architecture

  1. Create actors for Akka
  2. Expose Akka rest APIs
  3. Crawler actor will start crawling and store information into DB
  4. Deploy the app into IBM Cloud Foundry
  5. Ready for user to interact with the app

Included components

  1. Akka: A reactive stream toolkit
  2. ReactJS: A JavaScript library for building user interfaces
  3. Cloudant DB: A highly scalable and performant JSON database service
  4. Cloud Foundry: An open source, multi cloud application platform as a service project

Steps

We will be deploying to Cloud Foundry for exposing the APIs from Akka that connects to the IBM Cloudant Database.

Deploying Locally

  1. clone the project using git clone [email protected]:sanjeevghimire/akka-react-cloudant.git
  2. Login to IBM Bluemix account, create a IBM cloudant database and save the credentials and add those credentials in application.conf in akka-epl/src/main/resources/application.conf
  3. cd akka-epl
  4. Run sbt followed by commands compile and run . Make sure you choose CrawlingApp.scala as running class. This will crawl https://www.premierleague.com/ website and save data as JSON to IBM cloudant database
  5. In another command line window or tab, run sbt followed by commands compile and run. Make sure you choose SoccerMainController.scala as running class
  6. In another command line tab, cd soccer-epl-ui and run npm start
  7. you can now access the Dashboard in url: http://locahost:3000

Deploying to Cloud Foundry

In order to deploy to Cloud Foundry, make sure you have an IBM Bluemix account. And you have to install the following to get started.

  1. Install Cloud Foundry CLI
  2. Login to CF using: cf login --sso and use one-time password from a given URL to login
  3. Create a fat jar using: sbt assembly after going to directory: /akka-epl
  4. You need to have manifest.yml file as in the code repository to push it to the cloud foundry app
  5. You can push the app using command: cf push
  6. For Debugging you can see the logs to make sure your app is successfully pushed or not using cf logs akka-react-cloudant --recent
  7. you can also ssh to the application machine using command: cf enable-ssh <app_name> and  cf ssh <app_name>

Sample Output

Dashboard Team Standing Results Fixtures

Links

License

License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].