Buzzdetect user documentation

This first chapter gives an overview of the project and targets users as well as developers and administrators. Then, describes features at the user level.

Objects

The project is built around the following objects:

Account
Represents a user account on a remote API such as facebook or youtube, each app has a subclass of that such as YoutubeAccount, TwitterAccount, FacebookAccount and so on. An account can exist in the database but not be followed. follow must be unchecked for an Account to disable following it.
Hub
Represents a set of Accounts and users, has an arbitrary name such as “Beauty US” and is used for filtering.
Poster
Represents a publisher account on the remote app and is linked to one or several Accounts. When the Account is saved, it should synchronise the list of Poster based on what the user account follows.
Post
Represents a post on the remote app, it is synchronized differently depending on the remote app by the various background jobs of this project.
Stat
Represents a stat of a post at a given time, for example, “this posts has 10 reposts at 12AM” is a Stat of a Post. Those are created in the databases differently depending on the features the remote app’s API provides by the various background jobs of this project.
PosterAverageStat
Aggregation of a Poster’s Posts Stats of a given kind and at a given minute. For exemple, the “average number of reposts at minute 10 for a Poster” is an attribute of the PosterAverageStat for that Poster at minute 10.
Event
An Event may be created in the database by any background job and linked to any kind of objects. For example, when an Account synchronization occurs, it will create various Events for that Account with the name of the service and extra data such as API requests and responses.

Web user interface

The web user interface is available at bd.yourlabs.org, it requires user credentials (username and password) which should be provided by one of the administrators. If you forget your password, please contact the administrator who can set another one in the administration user interface.

The web user interface is made for debugging and forensic purposes of the database and running services more than anything. Once logged in there you can find the list of accounts, posters, posts, and their related events such as API requests and responses.

After logging in, you can browse through the UI using the navigation panel located at the bottom of the page:

  • Dashboard shows an overview of statistics including errors as well as last events for each app.
  • All apps provides a menu to browse through aggregated posts, posters, stats and events.
  • A menu per app supported by buzzdetect such as Facebook or Twitter, with links to browse their database objects.

Re-synchronise Account Posters

If necessary, you may trigger an Account re-sync which will import all its Posters so that they will be monitored by the background jobs:

  • click the app specific menu in the bottom navigation bar of the UI to open it,
  • click the Account name to update,
  • click the Update tab to show the update form,
  • click the submit button at the bottom,
  • Account’s Posters synchronisation should be started and begin creating Events for this Account which should appear in the Events tab,
  • after a few seconds and new Posters should appear in the Posters tab of the Account page.

Administration user interface

Administrators can manage users, hubs, accounts, and so on by connecting to /admin.

To add an account, it is best to go through the “Add Account” link in the various app specific menus in the navigation bar at the bottom of the web user interface.