List of Projects WebsiteOne Features request and design Events flow and architecture (discussion)

Events flow and architecture (discussion)

Updated over 4 years ago by Sam Joseph
Notes from Sam:  We seem to agree that these are these are the top level needs: 
  • "Need to know when scrums are to join them - need to access the videos of them."
  • "Need to know when upcoming pair programming sessions are, join existing ones."

Even
t = any activity that is scheduled for some time for AV members

Why do I want to create an event?
  • so other users know about it
  • so users can join it

  • so users can schedule their time

  • so past events can be browsed and viewed

  • so users can get notified of new/upcoming events

  • so I can invite others to join

  • so I can let others know when I am available

What is important to know about an event before deciding to participate?
  • when it starts (specific time or schedule)

  • planned duration (how long the creator is planning it for)

  • actual duration

  • participants and host

  • what is it about – project, task, PT story, type and tags

  • how to join

  • how to watch

  • expectations for participants (e.g skills, tools, language, etc.)

  • minimum attendees (optional?)


What so I need to know to join?
  • a HO link

  • a notification on feed, Slack, calendar, email

  • an ability to RSVP (optional?)

  • appropriate tools (link to tmux? rubymine? screenhero?)

  • status – started/finished/canceled/upcoming

What so I need to know to browse and view?
  • a recording (link to YT)

  • assets prepared before or created during a meeting (notes, docs, chat history, transcript, subtitles, commits, links, )

  • rating

  • tags

  • reviews and discussions

  • links (or key time points) to key points within the session  (optional?)

What do I need to notify of planned event?

  • summary

  • receivers (chat channels, specific people, emails, groups, twitter, g+, facebook. calendars)


Why would I want others to know when I am available:
  • Notify me about events that match certain criteria

  • So the event planner can take it into account when scheduling his event – members, skills, their times

  • Look up when specific people (with expertise or just fun) are available to invite them


What else I want to do with an event?

  • To cancel this instance and/or all future ones

  • To change time/duration and/or all future ones

  • notify participants (and all the people that were already notified) of any changes

  • To start it (and notify that it was started)

  • To link assets to an event


How can I create an event or events series?

  • from scratch

  • from past event as a sample

  • from template

  • with a generator (for recurring events with known start times)


Architecture Link to edit diagram


EventService

it can:

  • create a series of events at designated datetimes

  • change times for a series of events

  • cancel a series of events

it needs:

  • an event template (can use existing events)

  • schedule (an object or dsl)

  • date range (maybe lazily created)


NotificationtService

it can:

  • create a series of events at designated datetimes

  • change times for a series of events

it needs:

  • an event template (can use existing events

Revisions

comments powered by Disqus