-
Условие
Да се създаде система на тема по избор, която да разполага с минимум 2 части. Уеб услуги (наричани back-end) и клиент (наричан front-end)- Back-end: Уеб услуги
Технологии за разработка на уеб услугите: RESTful, SOAP services, gRPC, GraphQL или OData - Front-end: Интуитивен потребителски интерфейс за работа с уеб услугите
Интерфейса може да бъде както уеб сайт (.Net MVC проект, .Net Web forms …) така конзолно приложение (.Net console application) или мобилно приложение.
- Back-end: Уеб услуги
-
Задължителни изисквания за проекта
И двете части трябва да могат да поддържат минимум CRUD (Create, Read, Update, Delete) операциите за всеки модел от базата.- Структурата на базата от данни трябва да спазва следните правила
- Минимум 3 свързани таблици (схемата е обвързана с тематиката на проекта ви)
- Всяка таблица трябва да има минимум 6 колони, от които поне 4 да са с различни типове (int, double, long, DateTime и т.н.)
- Всяка таблица трябва да съдържа поне 1 задължително поле (първичният ключ не се зачита)
- Всяка текстова колона (ако има такава) трябва да има ограничение за максималния брой на символите в нея
- Структурата на уеб услугите и потребителския интерфейс трябва да спазва следните правила
- Достъпа до уеб услугите трябва да е защитен. Като начина на защита зависи от изпраната технология (JWT token, Username & Password, basic token, сертификат и т.н.)
- Достъпа до клиента не е необходимо да е защитен
- Полетата, които имат ограничения в базата, трябва да имат същите ограничения в уеб услугите и потребителския интерфейс
- Задължително трябва да присъства поне по една услуга за търсене по даден критерии (пример за критерии: FirstName, FacultyNumber, Name и т.н.) към всяка услуга връщаща списък с елементи.
- Всяка услуга извличаща списък с елементи трябва да предлага и възможност за тяхното странициране.
- Структурата на базата от данни трябва да спазва следните правила
-
Позволен технологичен стак\
- RESTful, SOAP services, gRPC, GraphQL или OData
- C# .NET, Java, PHP, Python, Ruby, JavaScript, TypeScript ...
-
Допълнителна информация
Всяко допълнение към разработката на приложението, което не е вписано като условие ще бъде счетено като допълнителна точка в определянето на вашата оценка. (качване на снимки, качване на видеа, качване на файлове, изработка на SPA (клиент използващ уеб услугите), създаване на Unit test към приложението. Допуска се дори използване и на GraphQL и OData ако има хора запознати с тях. Това също ще бъде сметнато на допълнителна точка. Всеки проект трябва да е качен в някакво публично репозитори (github, gitlab, bitbucket …..) -
Примерно точкуване
1 - създаване на база данните + създаване на услуги
1 - валидация на входящи данни + търсения по различни критерии
1 - защита на уеб услугите + странициране
1 - интуитивен клиент интерфайс
Всяка допълнение представлява допълнителни точки (0.25)