TelelinikedIn – проект за кандидат-стажанти в екипа на Академията на Телерик
Да се проектира и реализира система за управление на публични професионални профили. По функционалност системата трябва да наподобява http://www.linkedin.com/. Имплементирайте задължителните изисквания и след това имплементирайте възможно най-много от функционалностите на LinkedIn.
Задължителни изисквания
Работа с потребители: регистрация, вход, настройки и т.н.
Публични профили и избор на потребителите коя от информацията за тях да се вижда публично и коя не. В профилите може да се включват неща като: училище, университет, фирма, позиция, контакти, снимки (незадължително) и т.н.
Skills and endorsements (т.е. потребителите посочват кои са уменията им, а другите потребители могат да ги похвалят за уменията. Вижте как е имплементирано в LinkedIn.)
Администрация на всяка част от системата.
Допълнителни изисквания
Използване на .NET Framework 4.5 (или 4.5.1) и езика C#.
Използване на ASP.NET MVC4 или ASP.NET MVC5 (beta). Задължително е спазването на основните концепции при разработката на ASP.NET MVC приложения (separation of concerns,
Задължително е да се използват поне 2 контроли от KendoUI. За предпочитане в администрацията да използва KendoUI Grid.
Съхранение на данните в релационна база данни Microsoft SQL Server 2008или Microsoft SQL Server 2012.
Използване на Entity Framework за ORM достъп до базата данни.
По желание може да се използва code-first подхода.
Използване на Microsoft Visual Studio 2012 или Microsoft Visual Studio 2013.
За управлението на потребителите, регистрация, login и logout е разрешено да се използва вградения ASP.NET Membership, но не е задължително изискване.
Качествен програмен код – според по-важните препоръки от курса High-Quality Programming Code (http://telerikacademy.com/Courses/Courses/Details/40).
Потребителският интерфейс на системата може да е на български или на английски език (по ваш избор).
Бонуси
Допълнителни точки ще се дават за:
Реализирането на допълнителна функционалност от LinkedIn или друга.
Наличие на unit тестове.
Използване на AJAX на подходящи места.
Публичен API за част от функционалностите на сайта (например за достъп до профилната информация).
Реализирана добра ползваемост – удобен, лесен за употреба и интуитивен потребителски интерфейс.
Коректност и правилна работа при необичайни ситуации: например при въвеждане на невалидни данни (празни полета, прекалено дълги полета, невалиден формат).
Липса на пробиви в сигурността: SQL injection, cross-site scripting, unauthorized directory traversal, CSRF и други.
Добър и удобен външен вид (уеб дизайн) – можете да ползвате ваш собствен дизайн или да адаптирате дизайн със свободен лиценз от сайтове като: http://www.oswd.org и http://www.openwebdesign.org.
По желание може да се използва Bootstrap: http://twitter.github.io/bootstrap/
Материали
Можете да изгледате нашите материали от курса по ASP.NET MVC от училищната академия тази година: http://telerikacademy.com/Courses/Courses/Details/21
http://www.asp.net/mvc/tutorials
Полезни курсове, които ще ви помогнат доста с проектите можете да изгледате от http://pluralsight.com. Ако нямате платен достъп до сайта можете да намерите видеата по други сайтове (например rutracker.org)
Проектите се предават по email на nikolay.kostov@telerik.com и svetlin.nakov@telerik.com
Предават се:
База данни – релационна схема на базата данни в SQL Server с примерни тестови данни в таблиците. Базата данни да се предостави като SQL скрипт и .bak файл. Примерните данни трябва да са смислени, не "dsafdshga", "dsagfdsa" и "test1".
Работещо ASP.NET MVC уеб приложение, реализиращо в пълнота и според изискванията цялата функционалност на настоящия проект.
Пълен сорс код на проекта (скрипт за базата данни, C# класове, Razor темплейти, картинки и други ресурси).