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

README.md

Web Services and Cloud Technologies – Practical Teamwork Project 2015

Project Description

Design and implement a RESTful API, host it in the cloud and develop a client application.

General Requirements

Please define and implement the following assets in your project:

Requirements for the RESTful API

  • Use ASP.NET WebAPI

    • Your application must be implemented using ASP.NET WebAPI
  • Provide a RESTful API

    • The endpoints should provide CRUD operations: POST, GET, PUT and DELETE
  • Host the application in the cloud

    • Use Azure
  • Use a file storage cloud API

    • Dropbox, Google Drive or other
  • Use a cloud-based database

    • MS SQL, MySQL, MongoDB, Redis or other
  • Implement notifications functionality or message queues

    • Use PubNub or other
  • Add Unit and/or integration tests

Requirements for the client application

  • The client application can be one of the following:

    • Web SPA application using JavaScript
    • Windows desktop application using WPF, Windows Forms or the console
    • iOS mobile application
    • Android mobile application
    • Windows 8/Windows Phone 8 mobile application
    • Cross-platform mobile application using Apache Cordova, Xamarin or other
  • The client application must send HTTP requests to the RESTful API

  • Bonus will be given for UI

Additional Requirements

  • Follow the best practices for OO design and High-quality code

  • Use a GitHub for source control system

Deliverables

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

  • The complete source code (delete bin, obj and packages folders)

  • Brief documentation in Markdown (.md file). It should provide the following information (in brief):

    • Team name and list of team members
    • Project purpose – what problem do you solve?
    • Class diagram of your types
    • The list and explanation of your API methods
    • The URL of your source control repository
    • Any other information (optionally)
  • If you have good UI you should upload your project in Telerik Academy Showcase System

  • 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 class diagram (just a glance)
  • Show the source code in the source control system code browser
  • Show the commits logs to confirm that team member have contributed
  • Optionally you might prepare a presentation (4-5 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 5 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.

Sample Projects:

  • Web chat application

    • Users send messages between each other
    • Users can send files
    • Users can have a profile picture
    • Users receive notifications when another user sends them a message
  • Foursquare-like application

    • Users can see a set of predefined places with coordinates
    • Users can check-in at a place near them
    • Users can post a comment about a place
    • Users can upload an image of the place
    • Users can create a place
    • Users receive notifications about people, checking in the place they are in
  • Image gallery application

    • Users can own a gallery
    • The gallery can have albums
    • The albums can have sub albums
    • Users can upload images in the gallery or in any of the albums
    • Images have title
    • Users can leave a comment about an image
    • Users receive notifications when somebody comments an image of theirs
  • Chess game

    • Users can join a random game
      • The engine decides which two players to start the game
    • Users can perform moves in a started game
    • Users can have a profile picture
    • Users receive notifications when a user in a game of theirs has made their move
  • Crowd-sourced news application

    • Users can publish a news article containing images
    • Users can comment news articles
      • Comments can be nested
    • Users can vote for and against news articles
    • Users receive notifications when a new news article is published
  • Recipe application

    • Users can upload recipes containing images and preparation steps
      • Preparation steps have completion time (e.g. bake potatoes for 5 minutes at 200 degrees)
    • Users can like and comment a recipe
    • Users can start cooking a recipe
      • Notifications are delivered when a preparation step's time has elapsed
  • Another application by your choice

    • The only condition is to follow the Requirements
You can’t perform that action at this time.