Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

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 are:
    • 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
    • Microsoft Edge/Internet Explorer 11
    • Opera
    • Apple Safari

Additional Requirements

Follow the best practices for producing high-quality code:

  • Correct naming
  • Data encapsulation
    • Use modules
  • Use ES 2015 syntax where possible
  • Strong cohesion and loose coupling
  • Use GIT as a source control system

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
    • Its 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


  • Upload a brief video (2-3 mins) of your application and upload it in YouTube
    • Each project without an uploaded video in YouTube will be considered not done
  • Upload your project in
    • A brief description of your application
    • Link the video in the description
    • Mandatory refer the github repository of your application
    • Link with live preview of your application

Public Project Defense

  • Each submitted project will be evaluated by the trainers. Evaluation will strictly follow the above requirements.
  • 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

You can’t perform that action at this time.