Skip to content

viktor-meglenovski/3D-Art-Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3D Art Portfolio

Виктор Мегленовски 191001

Проектна задача по предметот Интернет Технологии, ФИНКИ 2020/21

1. Вовед

3D Art Portfolio е ASP.NET MVC веб апликација која им овозможува на корисниците да се регистрираат и да ги објавуваат своите 3D креации во форма на 2D рендерирани слики, заедно со име и опис за истите. Покрај ова, артистите можат да пребаруваат други корисници и да ги гледаат нивните објави, како и да ставаат реакции на објавите. Оваа апликација му овозможува на артистите да ја користат како свое професионално 3D портфолио кое можат да го споделуваат кога ќе аплицираат за работа кај клиенти и компании кои имаат потреба од 3D артисти.

3D Art Portfolio е креирана како проектна задача во склоп на предметот Интернет Технологии во учебната 2020/2021 година на Факултетот за информатички науки и компјутерско инженерство – ФИНКИ при Универзитетот “Св.Кирил и Методиј“ – Скопје. Главната идеја за оваа апликација беше добиена од една слична професионална веб страна која нуди многу поголем број на функционалности и е добро позната меѓу 3D артистите ширум светот – ArtStation.

2. Структура на апликацијата

Апликацијата е составена од неколку главни контролери (Profile, Project, Administrator) кои се задолжени за обработување на најголем дел од текот на апликацијата. Искористен е Entity Framework преку кој се овозможи системот за регистрација и најава на корисници (Account контролерот).

Апликацијата содржи голем број на Models и View Models кои се користат за чување и испраќање на најразлични информации и податоци помеѓу контролерите и веб прелистувачот. Некои од поважните модели се: Profile, ProjectEntry, NewProjectEntry и EditProjectEntry.

Апликацијата има најразлични Views кои му се прикажуваат на корисникот во зависност од ситуацијата. Сите погледи се стилизирани на ист начин, а воведени се и посебни стилизирани погледи кои се прикажуваат како резултат на настаната грешка при обработката на барањето од страна на контролерите.

Апликацијата користи една база на податоци во која има повеќе релациони табели кои овозможуваат голем број на функционалности и полесна обработка на податоците. Покрај табелата за корисници, направени се и табели за проектите, сликите од проектите, реакциите на проектите и софтверот искористен при креирањето на проектите.

Апликацијата има фолдер наречен UserUploads во кој се чуваат сите прикачени слики од корисниците. При регистрација на нов профил се добива ID и во фолдерот UserUploads се прави нов фолдер со име ID. Во овој фолдер се сместуваат сите фајлови кои соодветниот корисник ги прикачил на серверот. При креирање на нов проект се добива ID и во фолдерот на соодветниот корисник се прави нов фолдер со ова ID. Во овој фолдер се сместуваат сите фајлови кои соодвествуваат за конкретниот проект. Исто така, во UserUploads има посебен фолдер со име Temp, каде се чуваат привремени фајлови – на пример, при промена на профилна фотографија, прво фотографијата се сместува во овој фолдер, а потоа, откако ќе се потврди направената измена, фотографијата се префрла во фолдерот на соодветниот корисник.

3. Автентикација, Авторизација и Улоги

Скоро на целата апликација (со исклучок на почетната страна и страните за најава и регистрација) е имплементирана автентикација – само најавени корисници можат да ги користат сите можности кои ги нуди истата.

Сите автентицирани корисници се поделени во две улоги: Администратор и Корисник. При регистрација на нов корисник, на истиот автоматски му се доделува улогата Корисник. Постои еден администратор кој преку својот профил може да уредува делови од апликацијата како и да отстранува цели корисници од апликацијата.

Администраторот нема овластувања да креира проекти и да става реакции на објавите. При таков обид, апликацијата ќе прикаже соодветна порака. Корисниците немаат овластувања да пристапат до било која акција на администраторот. Исто така, еден корисник нема овластувања да ги изменува, бриши или да додава нови објави во име на друг корисник. При таков обид, апликацијата ќе прикаже соодветна порака.

4. Datatables и Bootbox

Апликацијата интензивно користи Datatables и Bootbox компоненти. Datatables се користат за листање на корисниците при нивно пребарување, за приказ на сите објави на даден корисник, за приказ на сите корисници кои ставиле реакција на дадена објава и слично.

Bootbox се користи за приказ на резултатите од пребарувањата, како и за приказ на слики – при клик на слика се отвора Bootbox прозорец во кој се прикажува истата.

5. jQuery и Ajax

Апликацијата користи jQuery за најразлични работи, меѓу кои и: едноставни анимации на некои елементи, додавање и бришење на елементи, како и користење на Datatables. Во комбинација со Ajax, jQuery e искористен за да се прават асинхрони повици до серверот и да се обработат податоците кои се добиени како одговор. Поважни функционалности имплементирани со Ajax се: системот за пребарување на сите корисници, системот за ставање реакции на објавите и системот за бришење на слики од проектите.

6. Дизајн

Низ целата апликација се користи еден ист стил со цел да се добие конзистентност во дизајнот на апликацијата. Апликацијата има посебен CSS фајл кој во комбинација со готовите Bootstrap класи е искористен за да се стилизира целата апликација. Исто така, искористена е надворешна библиотека за икони – Font Awesome – за да се прикажат стилизирани икони за емаил, телефон, пребарување и слично на неколку места низ апликацијата.

Дополнително направени се посебни страници за прикажување на грешки кои се стилизирани на ист начин како и целата апликација. Овие страници се прикажуваат при било каква грешка настаната при процесирање на барањата.

7. Заклучок и можности за надоградба

3D Art Portfolio е комплетно функционална веб апликација која момелтано повеќе наликува на мини социјална мрежа која има многу можности за надоградба, меѓу кои и: систем за следење/спријателување помеѓу корисниците, систем за пополнување на целосно CV на корисниците како и систем преку кој компаниите можат да ги разгледуваат профилите на корисниците и да ги контактираат оние 3D артисти кои се соодветни за работната позиција која компанијата ја нуди.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published