Git Product home page Git Product logo

semesterproject's Introduction

MM200-Apputvikling-prosjekt

Semester project presentation tool Presentation tools like Keynote, Powerpoint, Prezi and the like, are powerful tools with a lot of complexity. There are other, less complicated tools like Slides.com and "Haiku Deck" that achieves more or less the same thing. This assignment is about creating a presentation tool for web/mobile more in line with the simplicity of the later. Active use of a clear agile development process and version control system is a project requirement.

General project requirements:

  • Agile process with a feature map and project board.
  • GitHub for source control.
  • Normal usage of git for project work (branching, pull request).
  • No third-party code (unless specifically allowed)
  • Data is to be persisted in a Postgres database.
  • Documented REST API for communication between client and server.
  • No communication between client and server aside from REST API
  • JSON as data transport format.
  • Responsive HTML5 client
  • The application must run on Heroku
  • The application must work in FireFox
  • Project report.

Minimum requirements for C grade consideration (not in order):

  • Server API for Create / Delete / Update Presentations
  • Server API for Create / Delete / Update Slides
  • Server API for Create / Delete / Update / Authenticate user accounts
  • Server API for share/ unshare Presentations (private/public)
  • Client that can create / authenticate / delete users
  • Client that can create / update / delete presentations
  • Client that can create / update / delete 3 different types of slides (Title, Image with text, List).
  • Client that can facilitate sharing / unshare presentations
  • Presentations look and feel should be based on a theme.
  • Client should have presentation mode and edit mode
  • Client/server must require authentication when appropriate

Minimum requirements for B grade consideration (not in order):

  • Share presentations private/individual/public
  • Collect and report user metrics to the user
  • Optional presenter notes for each slide
  • Server API for exporting presenter notes to markdown document.
  • Remote viewing client for presentation. i.e people should be able to see the presentation in real-time on their own screen. Note that they should only see the current slide.
  • Minimum of two themes for presentations
  • Support for YouTube embedded video in slide.
  • Presentation mode should include an automatic paced playback mode.
  • Export presentation to single self-contained HTML file for offline usage.
  • Server code is modularly structured in an intuitive way.
  • Client code is modularly structured in an intuitive way.

Minimum requirements for A grade consideration (not in order):

  • Import presentation from exported HTML file.
  • Optionally include slide thumbnails in export of presenter notes.
  • Users should be able to create their own themes for presentations.
  • PWA Client (must be done in a meaningful way)
  • Remote control client for live presentation
  • Use google analytics to trac usage patterns.
  • Application admin digest of errors.
  • Overall clean and effective code.

Take note: We are not looking for a tool with a huge range of flexibility in layout and type of content. The crux is creating a clean simple and usable tool. This is not an exhaustive list, feel free to add your own ideas and features. Each point on the list should be interpreted by you and your team. We are sticklers for the details so never assume, always ask. The lists are accumulative so that an A requires that B, C and general requirements are met. Having done everything on the list will not entitle you to that grade. The quality of your work will be a vital part of the assessment. There might be mistakes / typos in the requirements. If so, it is the lecturer’s interpretation that is correct.

Test Frida XD

semesterproject's People

Contributors

carob16 avatar filipszutkowski avatar fmording avatar tor-even avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.