Closed Bug 1033419 Opened 10 years ago Closed 10 years ago

build backend for heartbeat project prototype

Categories

(Input Graveyard :: Submission, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: willkg, Assigned: willkg)

References

Details

(Whiteboard: u=analyzer c=heartbeat p=2 s=input.2014q3)

This bug covers building the backend for the heartbeat project prototype.

I talked with Gregg yesterday. Between that conversation and the planning meeting in June, I think we're going to do the following for a minimal viable prototype:

1. create a new Django app called "heartbeat"
2. create a "Heartbeat" model in that app
3. create a API endpoint to push data for collection
Adding whiteboard data. Taking this now to flesh out the details of the minimal viable prototype.
Assignee: nobody → willkg
Whiteboard: u=analyzer c=heartbeat p= s=input.2014q3
Talked with Ricky about spam issues.

For the prototype, we'll add throttling by IP address and that's it.

Later (post-prototype), we might look into changing the API endpoint url to something like:

   /api/v1/hbpost/<poll_id>

and polls have to be set up in Input before they can collect data.
This is a P1--need to do asap.
Priority: -- → P1
After talking with Ricky and Mike, I made some changes to the plan.

1. we're going to go with HTTP POST rather than HTTP GET because it's a lot safer and prevents some issues
2. the api endpoint will be /api/v1/hb/
3. polls will need to be registered with Input before Input will collect heartbeat data for that poll

Given all that, I just landed the first implementation including docs:

https://github.com/mozilla/fjord/commit/f69b58b

I'll push it to prod in a bit.
Tested it on stage and it works super. "test-poll" is the poll slug I created.

Pushed it to production. Marking this as FIXED.

If there are changes we need to make, we can put them in new bugs.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Whiteboard: u=analyzer c=heartbeat p= s=input.2014q3 → u=analyzer c=heartbeat p=2 s=input.2014q3
Product: Input → Input Graveyard
You need to log in before you can comment on or make changes to this bug.