Link to doc file with idea project
- Жулиен Иванов - zhulien
- Атанас Атанасов - hacko.hackob
- Пенко Живанов - PenkoValchev
- Тодор Даков - tddold
Design and implement a RESTful API, host it in the cloud and develop a client application.
Please define and implement the following assets in your project:
-
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
-
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
-
Follow the best practices for OO design and High-quality code
-
Use a GitHub for source control system
Put the following in a ZIP archive and submit it (each team member submits the same file):
-
The complete source code (delete
bin
,obj
andpackages
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
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.
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.
-
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
- Users can join a random game
-
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
- Users can upload recipes containing images and preparation steps
-
Another application by your choice
- The only condition is to follow the Requirements