-
Notifications
You must be signed in to change notification settings - Fork 7
Home
Rogue is DoSomething.org’s user activity service. It is as an admin application that allows the DoSomething.org staff to review, manage, and organize user activity that is tied to impact. It also provides an API for user activity that is collected in the system. More details about our team can be found here.
Please refer to the Rogue Documentation section of this wiki for any relevant documents. You can also follow along on any of our team discussions here.
Last Updated: 1/19/18
- Signup
A sign-up is the container for all user activity on a campaign.
- Posts
Atomic pieces of content that a user could submit throughout their engagement with the campaign. A signup owns multiple posts.
To help us support campaigns with multiple actions, a post can be categorized so that we can tie user submissions/actions to different CTAs on the same campaign. To do this, post have a type
, action_bucket
and details
column.
Categorization Fields
-
type
: Describes the type of post submitted e.g. photo, call, voter-reg. -
action_bucket
: Describes the CTA the action is tied to. A campaign could ask for multiple types of actions throughout the life of the campaign. For example, one month we might ask for a photo and the next month we might ask you to call a senator. -
details
: This is a JSON field that will hold extra details about a post submission. In the case of voter registration or calls, we might receive a JSON object that holds more details about the registration or call that can be stored in this field.
Check out this discussion for more context on action categorization.
- Status
Reviewed status of a post. Possible statuses:
-
pending
: The post has not yet been reviewed. When a post first gets submitted to rogue, it gets a pending status. -
accepted
: The post has been reviewed by and admin and accepted. -
rejected
: The post has been reviewed by and admin and rejected.
- Events
Events are logged when items are created, updated, get reactions, when signups get created, etc etc. Events track everything that happens throughout the system.
Rogue timestamps are stored & returned in UTC time, which is 4 hours ahead of EST. (i.e., created_at
,`updated_at')
- Tags
Posts can be "tagged" for better categorization in the system. By using tags we can sort and find posts easily.
- "Reportbacks" - We can determine if a user has reported back or not by seeing if they have at least one post under their signup. Posts more directly correlate with what
reportback_items
were in Phoenix-ashes. So, the first post proves they reportedback, subsequent posts are just more reportback items.
- Frontend: React
- Backend Framework: Laravel
- Database: MySQL
Section | Description |
---|---|
Database Schema | Overview of database tables and columns. |
API | API documentation |
Admin Interface | Admin interface Mocks, Routes, Explanations |
Outstanding Questions |