Skip to content
jacquesd edited this page Mar 17, 2013 · 14 revisions

Suggestions

Add suggestions for the project below (do not change suggestions from others.)

URL Structure

v0.1

  • / : Login / Sign Up screen for presenters.
  • /:user : Profile page
  • /:user/admin : Display and control slides when it is broadcast.
  • /:user/stats : Display stats about slides currently broadcast. Nb of viewers, audience participation, ...
  • /:user/live : Display and follow the slides, answer questions as they come.
  • /:user/edit/:presentation : Questions editor for the slides. (Optional)

v0.2 (Work in Progress)

  • / : Login / Sign Up screen for presenters.
  • /{username} : Profile page
  • /{username}/admin : Display and control slides when it is broadcast.
  • /{username}/stats : Display stats about slides currently broadcast. Nb of viewers, audience participation, ...
  • /{username}/live : Display and follow the slides, answer questions as they come.
  • /{username}/edit?slideshow={slideshowID} : Questions editor for the slides. (Optional)

Presentation Upload Structure

Upload a single folder whose name will be used as the slides title. (Can be changed later on.)
The folder has the following structure:

  • Folder (Slides title):
    • index.html Only contains the div="impress" part of the impress slides not a full html page. Eventually could be changed to index.ejs or impress.ejs.
    • style.css (style used for your impress slides)
    • img:
      • image files for the slides
      • ...
    • questions.json : JSON object containing a list of all questions for those slides
    • no js files allowed (they will be discarded).

Data Structure & Storage

First Suggestion

Slides are uploaded as above. (As an archive if the upload of a directory is not possible.) the questions.json file is parsed and integrated in a collection, the rest of the uploaded data remains as is, in the folder.

The remaining data will be stored in a multiples collections (MangoDB). See chart below: Data Structure 1

Second Suggestion

Slides are uploaded the same as above except for the questions.json file which is not parsed into a collection but left as is and loaded into memory if the slides are needed.

This case only uses two collections, the users and the slides:
Data Structure 2