canmove, Confirmed users
1,448
edits
No edit summary |
|||
| Line 25: | Line 25: | ||
==Overview== | ==Overview== | ||
Alfred's architecture consists of three components: | Alfred's architecture consists of three components: | ||
;API server | |||
: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. | ||