|
33, Alexander Malinov Blvd., Sofia, 1729, Bulgaria
Phone: (+359) 2 80-99-862; Fax: (+359) 2 80-99-888
|
|
Фотоалбум – курсов проект по „Разработка на уеб приложения с ASP.NET” – вариант № 1
Да се проектира и реализира система за управление на снимки. Системата трябва подържа работа с множество потребители, за които се подържа набор от снимки разделени в отделни категории.
Управление на потребители и техните профили -
Регистрация на потребител. При регистрация за всеки потребител се създава профил, който съдържа следната информация:
-
username (съдържа само букви и цифри, уникално за системата)
-
парола
-
име и фамилия
-
email
-
Редакция на профил. Всеки регистриран потребител може да редактира своя профил. Позволена е редакция на всички данни за потребителя с изключение на потребителското име.
-
Изтриване на потребител. Регистрираните потребители могат да изтриват своята регистрация. При изтриване на потребител от системата се премахва цялата информация за него (профил, категории, снимки и т.н.).
Управление на категории -
При регистрация на потребител автоматично се създава нова категория с неговото име, която е негова собственост и цялото й съдържание е също негова собственост.
-
Всяка категория може да съдържа снимки и/или други категории (с произволна дълбочина). Всяка категория и всяка снимка принадлежат на един от потребителите в системата.
-
Посетителите в сайта (без регистрация) могат да разглеждат свободно категориите, да се придвижват между тях и да разглеждат снимките в тях.
-
Регистрираните потребители могат да извършват следните действия със своите категории:
-
добавяне на нова категория
-
изтриване на категория – при изтриване на категория се изтрива цялото й съдържание, заедно с всички снимки и подкатегории в нея
-
преименуване на съществуващ категория
Управление на снимки -
За всяка снимка се пази име, описание, дата на добавяне на снимката в системата и самата снимка (GIG, JPEG или PNG изображение).
-
Преглед на снимки:
-
Посетителите (без автентикация) могат да разглеждат категориите и снимките на всички потребители и цялата информация за тях.
-
Посетителите (без автентикация) могат да преглеждат избрана категория от снимки, при което снимките се показват в умален вид (thumbnails) с линк за детайлно разглеждане.
-
Добавяне на снимка. Регистрираните потребители могат да добавят снимки в своите категории и подкатегории. При качване на снимка се приемат GIF, JPEG и PNG изображения с големина до 4 MB.
-
Редактиране на снимка. Регистрираните потребители могат да редактират името и описанието на снимките в своите категории и подкатегории.
-
Изтриване на снимка. Регистрираните потребители могат да изтриват снимки в своите категории и подкатегории.
Справки
Системата трябва да поддържа следните справки, достъпни за всички потребители (включително посетители без автентикация):
-
Извеждане на таблица с всички потребители (username, брой категории, брой снимки, дата на последно действие извършено от потребителя и описание на действието в свободен текст, например "добавена снимка").
-
Извеждане на таблица с всички снимки (снимка, категория, потребител, дата на добавяне, размери, големина на файла, дата, на която е последно видяна).
За всички таблици, извеждани в справките да се имплементира възможност за сортиране (по всяка от колоните) и страниране (извеждане на страници от по 15 реда с възможност за навигация между страниците).
Допълнителни изисквания -
Потребителският интерфейс на системата може да е на български или на английски език (по ваш избор).
-
Използване на .NET Framework 4.0 и езика C#.
-
Използване на ASP.NET 4.0.
-
Съхранение на данните в релационна база данни Microsoft SQL Server 2008.
-
Използване на ADO.NET Entity Framework за достъп до базата данни.
-
Използване на Microsoft Visual Studio 2010 или Visual Studio 2010 Express Edition.
-
Използване на ASP.NET Master Pages.
-
Използване на поне един Custom User Control (.ascx).
-
За управлението на потребителите, login и logout да се използва ASP.NET Membership.
-
Навигацията в приложението да е реализирана с Navigation контролите на ASP.NET.
-
Качването на файлове да се реализира с контрола FileUpload.
-
Снимките трябва да се съхраняват във файловата система на сървъра, а информацията за тях – в базата данни.
-
Потребителското име на всеки трябва да бъде уникална поредица от латински букви и цифри с дължина минимум 3 символа и да започва с буква.
-
Паролата трябва да бъде с дължина поне 3 символа и е задължителна за всички регистрирани потребители.
-
Email адресът е задължителен и трябва да се валидира минимум по следния формат: <знак/знаци>@<знак/знаци>.<знак/знаци>.
Бонуси
Допълнителни точки ще се дават за:
-
Качествен програмен код – според всички препоръки от курса High-Quality Programming Code (http://codecourse.telerik.com).
-
Правилно структуриране на приложението с ясно отделени презентационен слой, бизнес слой и база данни.
-
Реализирана добра ползваемост – удобен, лесен за употреба и интуитивен потребителски интерфейс.
-
Коректност и правилна работа при необичайни ситуации: например при въвеждане на невалидни данни (празни полета, прекалено дълги полета, невалиден формат).
-
Липса на пробиви в сигурността: SQL injection, cross-site scripting, unauthorized directory traversal и други.
-
Добър и удобен външен вид (уеб дизайн) – можете да ползвате ваш собствен дизайн или да адаптирате дизайн със свободен лиценз от сайтове като: http://www.oswd.org и http://www.openwebdesign.org.
-
Реализирането на функционалност, която не се изисква в условията на проектите не носи непременно допълнителни точки. По-важно е да се реализира коректно изискваната функционалност.
Предаване на проектите
Проектите се предават на два пъти:
-
База данни, класове за работа с базата данни и прототип на потребителския интерфейс.
-
Цялостно реализирана и работеща система.
База данни и UI прототип
Първата част на курсовия проект изисква да бъдат предадени следните активи от проекта:
-
База данни – релационна схема на базата данни в SQL Server с примерни тестови данни в таблиците. Базата данни да се предостави като SQL скрипт, който създава релационната схема и вмъква примерни данни в таблиците. Примерните данни трябва да са смислени, не "dsafdshga", "dsagfdsa" и "test1".
-
Класове за достъп до данните, покриващи цялата функционалност на проекта. За всяко действие, касаещо базата данни, което трябва да бъде реализирано в проекта, трябва да се предостави подходящ метод, реализиращ съответното действие.
-
Прототип на потребителски интерфейс. Трябва да се направят статични XHTML страници + CSS, които показват как ще изглежда приложението, когато е вече готово (Web UI Prototype). Прототипът изисква да има по една страница за всеки възможен екран, който потребителят ще може да види, когато приложението е готово. В страниците от прототипа да се визуализират смислени примерни данни, илюстриращи приложението в действие. Пример за UI прототип има на сайта на курса: http://www.telerik.com/documents/telerik-academy/aspnetcourse/ArtGallery-Web-UI-Prototype-Example.rar.
Проектите се предават онлайн от адрес: http://nakov.devbg.org/aspnetcourse-uploads/.
Краен срок за предаване на първата част от проектите: 19 декември 2010 г.
Цялостно реализирана и работеща система
Втората част на курсовия проект изисква да бъдат предадени следните активи от проекта:
-
Работещо ASP.NET уеб приложение, реализиращо в пълнота и според изискванията цялата функционалност на настоящия проект.
-
Пълен сорс код на проекта (скрипт за базата данни, C# класове, ASPX страници, картинки и други ресурси).
Проектите се предават онлайн от адрес: http://nakov.devbg.org/aspnetcourse-uploads/.
Краен срок за предаване на втората част от проектите: 30 януари 2011 г.
Защита на проектите
Защитата на проектите ще се извърши в края на курса. На защитата всеки студент ще трябва да представи проекта си, да покаже каква част от изискванията са реализирани и работят и да разкаже как е реализирал функционалността, след което ще му бъде дадена задача – да реализира допълнителна функция към проекта, на място в изпитната зала.
Силно препоръчително е всеки да си носи лаптоп с подготвена работна среда, на който да работи по време на защитата.
За да спестите време по време на защитата моля подгответе достатъчно примерни данни в базата данни на вашата система, с които да покажете всичките й функции в действие. Например, за да покажете страниране на таблиците, е необходимо да имате подготвени достатъчно данни в съответната таблица.
Дискусионна група
За въпроси и коментари може да използвате дискусионната група на курса:
http://groups.google.com/group/aspnet2010
|
Deliver more than expected
|
Page of
|
www.telerik.com
|
Сподели с приятели: |