Alfred: Difference between revisions

1,169 bytes added ,  24 January 2017
No edit summary
Line 25: Line 25:
==Overview==
==Overview==
Alfred's architecture consists of three components:
Alfred's architecture consists of three components:
* an API server connected to a MongoDB instance,
 
* an IRC bot,
;API server
* a React front-end.
:The server is connected to a MongoDB instance which stores all user-submitted updates and reports.  It has a REST-ful API which is used by the bot and the front-end to add and change updates.  The server also exposes endpoints for webhooks which allows enabling integrations with other web services, like Github.
 
;IRC bot
:The bot allows users to manipulate their inboxes and reports via IRC.  Updates submitted via the bot are saved to the user's inbox for a later triage.
 
;WWW front-end
:The front-end offers two main views: an inbox view which is user-specific and a weekly report view which displays updates reviewed by each user.  The inbox view lists all updates gathered by Alfred from different sources: the bot, webhook integrations and previous reports; it allows the user to curate what their current weekly report look like.
 
An individual update can have many states throughout its lifetime: inbox, event, todo, done, archived, removed, goal, struggle, achievement.  Alfred keeps track of the state changes by creating a copy of the changed update and by marking the old updates as ''resolved''.  By creating copies Alfred can show an update as a goal on one week's report and as achievement on the following week's report.


==Roadmap==
==Roadmap==
Alfred is in very early stages of development.  Consult https://github.com/stasm/alfred/milestones for more information about the current status and release planning.
Alfred is in very early stages of development.  Consult https://github.com/stasm/alfred/milestones for more information about the current status and release planning.
canmove, Confirmed users
1,448

edits