Assignments for Advanced Programming Practices using Java 8 and the Play Framework
Branch: assignment-2
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
conf
gradle/wrapper
project
public
sbt-dist
scripts
test
.gitignore
LICENSE
README.md
build.gradle
build.sbt
flow.png
gradlew
gradlew.bat
sbt
sbt.bat

README.md

TweetAnalytics

SOEN6441 Assignment 2. Now Tweet search is reactive!

Running

Run this using sbt.

sbt run

And then go to http://localhost:9000 to see the running web application.

sbt jacoco

Computes the coverage.

sbt doc

Generates the JavaDoc.

Team Members

Name Student ID Contributions
Adrien Poupa 40059458 TwitterController, Models, JavaDoc
Jialu Wang 40019673 Framework architecture, Twitter API
Wei Li 40027433 Junit tests, JavaDoc, UI
Vamsikrishna Tamil Selvan 40010750 Test cases, JavaDoc, Documentation
Manoj Kumar Muppavarapu 40042560 JavaDoc, Test cases, Documentation

Application flow

Application flow

Controllers

  • WebSocketController.java:

    Handles the WebSocket

  • HomeController.java:

    Displays the homepage

  • TwitterController.java:

    Handles the search and profile pages

Models

  • SearchResult.java:

    Handles the JSON object returned by Twitter's search API.

  • Status.java:

    Handles the status included in both Search and Profile.

  • User.java:

    Handles the user included in both Search and Profile.

Actors

  • GuiceInjectedActor.java:

    Used to create actors that use Guice's Inject annotation.

  • Messages.java:

    All the messages sent/received by the actors.

  • SearchResultsActor.java:

    Search actor, calls the TwitterImplementation.

  • UserActor.java:

    Handles and supervises the SearchResultsActors

  • UserParentActor.java:

    Creates and supervises the UserActor.

Services

  • TwitterAPI.java:

    Interface that defines the implementations.

  • TwitterImplementation.java:

    Uses the results provided by the TwitterService to parse the tweets.

  • TwitterService.java:

    Calls the live TwitterAPI, implements the TwitterAPI interface.