JavaScript DOM & UI: Teamwork Assignment

This document describes the teamwork assignment for Telerik Academy students in JavaScript UI & DOM course

Project Description

Implement a client-side JavaScript application using the HTML graphic APIs – canvas and SVG.

The project can be a game, web statistics or anything else. Sample applications:

  • Chess
  • Backgammon
  • Any jumping game – Super Mario, Bomberman or else
  • Statistics application – app showing different charts, based on received data
  • Minesweeper
  • Solitaire
  • Bridge-Belote
  • Paint-like application – drawing shapes, lines, etc

General Requirements

Please define and implement the following assets in your project:

  • Use the HTML5 canvas
    • Or a Canvas framework like KineticJS, paper.js or other
  • Use SVG
    • Or a SVG framework like Raphael JS or other
  • Create animations
    • Either for the canvas, SVG or both
  • The application must work in the latest versions of the browsers: Google Chrome, Mozilla Firefox, Internet Explorer 10/11, Opera and Apple Safar

Additional Requirements

Follow the best practices for producing high-quality code:

  • Correct naming
  • Data encapsulation
    • Use OOP and modules
  • Strong cohesion and loose coupling
  • Use GIT as a source control system
  • Host it on http://github.com

Optional Requirements

If you have a chance, time and a suitable situation, you might add some of the following to your project:

  • Use DOM manipulations like native DOM API and/or jQuery
  • Unit and integration testing
  • Backward compatibility (make the application usable on browsers like IE8, IE7 and IE6)

Non-required Work

  • Completely finished project is not obligatory required. It will not be a big problem if your project is not completely finished or is not working greatly
    • This team work project is for educational purpose
    • ts main purpose it to experience using graphics, DOM manipulation and OOP in a real-world-like project and to get some experience in team working and team collaboration with a source control system.
  • Implementation of server-side logic with ASP.NET, PHP, Java or Node.js

Deliverables

Put the following in a ZIP archive and submit it (each team member submits the same file):

  • The complete source code
  • Brief documentation of your project (2-3 pages). It should provide the following information (in brief):
    • Team name and list of team members
    • Project purpose – what problem do you solve?
    • The URL of your Git repository
    • Any other information (optionally)
  • Optionally provide a presentation designed for the project defense

Public Project Defense

Each team will have to deliver a public defense of its work to the other students and trainers. You will have only 10 minutes for the following:

  • Demonstrate the application (very shortly)
  • Show the source code
  • Show the commits logs to confirm that team member have contributed.
  • Optionally you might prepare a presentation (3-4 slides) Please be strict in timing! Be well prepared for presenting maximum of your work for minimum time. Bring your own laptop. Test it preliminary with the multimedia projector. Open the project assets beforehand to save time. You have 10 minutes, no more

Give Feedback about Your Teammates

You will be invited to provide feedback about all your teammates, their attitude to this project, their technical skills, their team working skills, their contribution to the project, etc. The feedback is important part of the project evaluation so take it seriously and be honest