This is a chat application related to Telerik Academy Web Services Course (year 2014).
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
o Your application must be implemented using ASP.NET WebAPI
• Provide a RESTful API
o The endpoints should provide CRUD operations: POST, GET, PUT and DELETE
• Host the application in the cloud
o Use AppHarbor
• Use a file storage cloud API
o Dropbox, Google Drive or other
• Use a cloud database
o MS SQL, MySQL, MongoDB, Redis or other
• Implement notifications functionality
o Use PubNub or other
Requirements for the Client application
• The client application can be one of the following:
o Web SPA application using JavaScript
o iOS mobile application
o Android mobile application
o Windows 8/Windows Phone 8 mobile application
o Cross-platform mobile application using Apache Cordova, Xamarin or other
o Windows desktop application using WPF, Windows Forms or the console
• The client application must send HTTP requests to the RESTful API
Additional Requirements
• Follow the best practices for OO design: use data encapsulation, use exception handling properly, use inheritance, abstraction and polymorphism properly and follow the principles of strong cohesion and loose coupling
• Create a solid validation on both the Web services application and on the client application
• Use a source control system by choice
Optional Requirements
If you have a chance, time and a suitable situation, you might add some of the following to your project:
• Usage of message queues
• Unit and/or integration testing