Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
105 lines (91 sloc) 4.94 KB

JavaScript Applications: Teamwork Assignment

This document describes the teamwork assignment for Telerik Academy students in "JavaScript Applications" course

Project Description

Design and implement an object-oriented web SPA application by choice.

It could be a simple game , component library , business application or any other

  • You are absolutely free to choose the topic of your work
  • Sample applications:
    • Snake
    • Chess
    • Backgammon
    • Minesweeper
    • Tetris
    • Xonix
    • Supermario
    • Components library (windows, buttons, text boxes, menus, etc.)
    • Book store
    • Auction
    • Movie rental
    • Bug tracker
    • Knowledge management system
    • E-library
    • Text editor

General Requirements

Please define and implement the following assets in your project:

  • Use jQuery
  • Implement OOP design
    • Application logic using objects, modules and data hiding
      • Use ES2015 classes and mixins
      • Both Prototypal and classical inheritances are Ok
    • At least 3 modules
    • At least 7 types (classes) of objects
  • Unit tests
  • Implement a UI for your application
    • Use KendoUI, jQueryUI or implement your own UI logic
  • Use some kind of web data storage, one of the following is Ok
    • Your backend with Node.js, PHP, ASP.NET, Django, Ruby on Rails, Spring, etc...
    • Telerik Backend Services
    • Firebase
    • Microsoft Mobile App Services
  • Use some kind of local storage, one of the following is Ok:
    • localStorage
    • sessionStorage
  • Use Twitter Bootstrap
    • Research and use Bootstrap for your application
    • Make the application responsive for different screens and resolutions
  • At least one third-party API to share something from your application
    • Samples:
      • Share status to Facebook, Google+, Twitter, etc...
      • Upload images to Facebook, Flickr, Instagram
  • The application must work in the latest versions of the browsers: Google Chrome, Mozilla Firefox, MS Edge, Internet Explorer 10/11, Opera and Apple Safari

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 https://github.com
  • Deploy your application on a cloud server of your choice - Heroku, Firebase, Amazon S3, Microsoft Azure
  • Usage of a structural JavaScript framework is FORBIDDEN:
    • AngularJS, React, KendoUI, Knockout.js, Backbone.js, etc...

Optional Requirements

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

  • Backward compatibility (make the application usable on browsers like IE8, IE7 and IE6)
  • Integration tests
  • Minify your application source - minified and concatenated javascript and css files
  • Use a module loader of your choice - SystemJS, RequireJS, etc, or roll up your own loader
  • Use semantic tags and semantic html

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

Deliverables

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 recorded video
  • 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.