Loading...
nakov avatar nakov SoftUni Team Trainer 5295 Точки

SPA with AngularJS: курсови проекти

Колеги, готови сме с условията на курсовите проекти за курса "SPA with AngularJS":

Както знаете, този курс ще се завършва с практически проект, който всеки си прави вкъщи. Ще има защита на живо и по Skype за онлайн курсистите.

Какво представлява AngularJS Ads проектът?

  • Дадено вие как изглеждат екраните от система за онлайн обяви (UI prototype)
  • Дадена е REST услуга, която пази данните и имплементира всички необходини действия
  • Посетителите на сайта без регистрация могат да разглеждат обявите, да се регистрират и логват
  • Логнатите потребители могат да си редактират обявите
  • Администраторът (поребител с по-високи права) може да редактира обяви, потребители, категории и градове - тази част е бонус, защото е по-трудна и по-оебмна за имплементация

За да ви помогнем по изграждането на практическия курсов проект добавяме още учебни занятия към курса:

  • 5 януари от 12 до 20 часа - колегата Владо ще пише проекта на живо пред всички, от нулата стъпка по стъпка. Ще запишем видео за онлайн курсистите. Няма да ви дадем сорс кода, за да си го напишете сами. Това е важно условие в заданието.
  • 6 януари - от 16 до 22 часа - ще правим Lab, отново работа по практическия проект.
  • 11 януари (неделя) - защита на проектите - ще направим записване и разпределение по часове.

В понеделник и вторник остават планираните учебни занятия:

  • Services, ruting, directives
  • Работа по практическия проект

Обръщам внимание че има важно изискане да работите с Git и да commit-вате редовно в GitHub. Ако не го правите, ще загубите половината от точките за проекта. Трябва да покажете, че сте работили здраво по този проект и не сте го преписали от ваш колега.

Проектите са индивидуални. Няма да има разпределение на отбори.

Ще запиша и видео разяснения по проекта до няколко дни.

Започвайте работа! Имате право да обсъждате публично и да споделяте кой до къде е стигнал.

За REST услугите админската парола е admin / admin.

Препоръчам ви да си пуснете услугите локално (показано е във видеото как става с [Ctrl+F5] във Visual Studio).

19
JavaScript Applications 26/12/2014 22:39:07
ttitto avatar ttitto 1153 Точки

Някой друг има ли проблем при едит на категория на локалния сървър (PUT api/admin/Categories/{id}). Казва ми, че този ресурс не поддържа PUT заявка.

Интересно ми е как ще се процедира утре, след като една част от заявките не работят на онлайн сървъра, а други не работят на локалния?!

 

0
presian avatar presian 223 Точки

@ttitto при мен си раборят коректно! 

 

var resource = $resource(
BASE_URL + 'admin/categories/:id', {
id: '@id'
}, {
update: {
method: 'PUT'
}
});
function editCategory(id, name) {
return resource.update({
id: id
}, name);
}

BASE_URL -> http://localhost:1337/api/

 

Като подаваш новото име, във обект с поле name ли го подаваш или по друг нчин?

Т.е.

{

name: newCategoryName

1
ttitto avatar ttitto 1153 Точки
в ресурса имам
adminResource = $resource(adminUrl, null, {
'adminListCategories': {method: 'GET', headers: headers},
'adminCreateCategory': {method: 'POST', headers: headers},
'adminEditCategory': {method: 'PUT', params: {id: '@id'}, headers: headers},
'adminDeleteCategory': {method: 'DELETE', headers: headers}
});

return {
adminEditCategory: function adminCreateCategory(category) {
return adminResource.adminEditCategory(category).$promise;
},
adminDeleteCategory: function adminDeleteCategory(category) {
return adminResource.adminDeleteCategory({id: category.id}).$promise;
}
}

adminUrl ми е baseUrl + '/admin/categories'

a това ми е функцията в контролера:

$scope.editCategory = function editCategory(category, editCategoryForm) {
if (editCategoryForm.$valid) {
CategoriesResource.adminEditCategory(category)
.then(
function editCategorySuccess(editCategoryData) {
messaging.successMessage('New category was edited successfully.');
$location.path('/admin/categories/list');
},
function editCategoryError(editCategoryErr) {
messaging.errorMessage(' The selected category couldn\'t be edited.');
console.log(editCategoryErr);
}
)
} else {
messaging.errorMessage('The form contains invalid data.');
}
}
0
presian avatar presian 223 Точки
return {
adminEditCategory: function adminCreateCategory(category) {
return adminResource.adminEditCategory(category).$promise;
},
adminDeleteCategory: function adminDeleteCategory(category) {
return adminResource.adminDeleteCategory({id: category.id}).$promise;
}

не трябва ли да тие е adminEditCategory, и май не подаваш ид-то при едита
0
11/01/2015 10:23:43
g.stoyanov avatar g.stoyanov 776 Точки

Хора как взимате юзернейма за админските реклами на хоум пейджа, то и имената на градовете и категорийте ги няма но поне има айдита за тях и ги скалъпихме някак си. Предварително благодаря за отделеното време  :)

0
presian avatar presian 223 Точки

Има ги в отговра на заявката за градовете и категориите има и id-то и name-а. Има си го username-a също, каква ти е заявката?

1
11/01/2015 09:54:40
g.stoyanov avatar g.stoyanov 776 Точки

Благодаря много за помоща :), бях объркал заявката!

0
aslv1 avatar aslv1 304 Точки

Здравейте!

Трябва ли да качваме някъде приложението си?

Питам, защото моето го качих при http://www.000webhost.com/, но директивите ми не работят (другото работи, хвърля грешка Template for directive '...' must have exactly one root element., обаче всички шаблони си имат точно един родителски елемент).

Естествено, същото приложение на localhost работи.

Ако трябва да го качваме някъде, моля ви да препоръчате някое читаво място.

Поздрави и успех!

П. П. Ето го и адреса, ако някой може да помогне/даде препоръки, е добре дошъл laughing

0
11/01/2015 09:58:03
presian avatar presian 223 Точки

Аз не знам да трява да се качва другаде освен в гитхъба! Но ако някой каже къде може да се каи и да работи ще ми е интерсно да се пробвам!

 

Аз пробвах във ICN.bg и си работи -> естествено със съответните бъгове, защото се ползва нетсървъра! На локалния всичко е точно! Тоест то работи и с локалния, което мен ме учуди но реално само ти ще можеш да си го ползваш!

1
11/01/2015 09:57:29
aslv1 avatar aslv1 304 Точки

Да, разбирам.

Имам предвид трябва ли някъде да се качи демо на приложението, за да може журито да го разцъка.
Ако не се качи, ще трябва те да си го изтеглят и да го подкарат на тяхната машина, за да видят как се държи, дали работи изобщо :), а не да разглеждат само кода.

0
presian avatar presian 223 Точки

Аз до колкото разбрах оценяващите ще обикалят и ще гледат на твоята машина. Поне с такова впечатление останах! Надявам се да не те подлъжа, но имам спомен, че Накова някъде по лекциите го обясни така.

0
11/01/2015 10:11:19
gngeorgiev avatar gngeorgiev 90 Точки

Айде да се забързате с проверката щото вече 1 час чакам на скайп?

0
crazy7 avatar crazy7 177 Точки

Близо 2 часа било забавянето! И аз съм така...

0
nikolay.paskulov avatar nikolay.paskulov 55 Точки

Имаш ли някакво инфо колко г/д е забавянето?

0
crazy7 avatar crazy7 177 Точки

Аз бях на: softuni.bg. И току що приключих, при положение че бях от 13.50. Закъснение около 2 часа и 10 мин.

На другия акаунт едни приятел беше с закъснение около 40 мин.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.