Changes between Version 23 and Version 24 of Имплементација


Ignore:
Timestamp:
12/21/21 21:39:18 (2 years ago)
Author:
vangel.ajanovski
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Имплементација

    v23 v24  
    22
    33
    4 
    5 
    6 
    7 == Организација на контролата врз верзии на изворниот код
     4== Изворен код ==
    85
    96За контрола врз верзиите на изворниот код ја користев алатката Git.
    107
    11 
    12 
    13 
    14 
    15 == Изворен код
    16 
    17 {{{#!box type=todo
    18 Слободно наведете дека изворно работевте на Github и од таму е пренесен тука кодот за чување во проектниот простор на факултетот.
    19 }}}
    20 {{{#!box type=comment
    21 Корегирано
    22 }}}
    23 Иницијалното репо за апликацијата го креирав на Github [11] платформата за хостирање или зачувување на код. Преку интерфејсот на Github ја добиваме истата структура на апликацијата која ја развиваме. На многу едноставен начин може да се зачуваат измени од кодот преку Git алатката и да се управува со верзии на кодот. Секое репо може да има неколку гранки во кои на една од нив се развива  целата апликација и во иднина може да се креираат дополнителни гранки за нови фукнционалности. Тоа ни олеснува да пристапиме до некоја постара верзија на апликациајта каде што нема дополнителни функционалности кои не се потребни. Во процесот на развој ја користев гранката develop и потоа кодот ја пресликав на главната гранка master. Кога завршив со развојот направив пресликување на целото репо во проектиот простор на факултет каде може да го добиете изворот од кодот и логови за направени измени. Дополнително апликацијата ја хостирав на сервер за тестирање кој што ќе биде опишан во делот "Презентација".\\
    24 Линк до изворниот код: **[https://develop.finki.ukim.mk/projects/SaveSpace/browser Извор - SaveSpace]**
    25 
    26 {{{#!box type=todo
    27 Недостасува краток опис на организацијата на датотеките.
    28 }}}
    29 {{{#!box type=comment
    30 Корегирано
    31 }}}
    32 Структурата на датотеките во Laravel е по избор корисникот но за да е во тек со други апликации и разбирлива за другите добро е да се воздржиме на класичната MVC структура. Model-View-Controller (MVC) [12] е модел кој ја дели апликацијата на три главни логички компоненти: модел, приказ и контролер. Секоја од овие компоненти е изградена за да се справи со специфични развојни аспекти на апликацијата. MVC е една од најчесто користените индустриски стандардни рамки за развој на веб за креирање скалабилни и проширливи проекти.
    33 
    34 - Модел\\
    35 Компонентата Модел одговара на целата логика поврзана со податоци со која работи корисникот. Ова може да ги претставува или податоците што се пренесуваат помеѓу компонентите Приказ и контролер или кои било други податоци поврзани со деловната логика. На пример, објектот Customer ќе ги преземе информациите за клиентот од базата на податоци, ќе манипулира со нив и ќе ги ажурира податоците назад во базата на податоци или ќе ги користи за прикажување податоци.
    36 
    37 - Приказ\\
    38 Компонентата View се користи за целата логика на UI на апликацијата. На пример, приказот на клиентите ќе ги вклучи сите компоненти на корисничкиот интерфејс, како што се текстуални полиња, паѓачки склопки, итн. со кои ќе комуницира конечниот корисник.
    39 
    40 - Контролер\\
    41 Контролерите дејствуваат како интерфејс помеѓу компонентите на Model и View за да ја обработат целата деловна логика и дојдовните барања, да манипулираат со податоците користејќи ја компонентата Model и да комуницираат со Views за да го прикажат конечниот излез. На пример, контролорот на клиентите ќе се справи со сите интеракции и влезови од Приказот на клиентите и ќе ја ажурира базата на податоци користејќи го моделот на клиентите. Истиот контролер ќе се користи за прегледување на податоците на клиентот.
    42 
     8{{{#!rbox type="note" width="15em"
     9Намерно референцирате Hello World демо од GitHub?
     10
     11Мислев да го референцирате вашиот оригинален репозиториум на GitHub, или пак генералната страница на GitHub ако не сакате оригиналниот репозиториум.
     12
     13Линкот до кодот го сменив - да си биде експлицитно излистан.
     14}}}
     15Иницијалното репо за апликацијата го креирав на Github [11] платформата за хостирање или зачувување на код. Преку интерфејсот на Github ја добиваме истата структура на апликацијата која ја развиваме. На многу едноставен начин може да се зачуваат измени од кодот преку Git алатката и да се управува со верзии на кодот. Секое репо може да има неколку гранки во кои на една од нив се развива  целата апликација и во иднина може да се креираат дополнителни гранки за нови фукнционалности. Тоа ни олеснува да пристапиме до некоја постара верзија на апликациајта каде што нема дополнителни функционалности кои не се потребни. Во процесот на развој ја користев гранката develop и потоа кодот ја пресликав на главната гранка master. Кога завршив со развојот направив пресликување на целото репо во проектиот простор на факултет каде може да го добиете изворот од кодот и логови за направени измени.
     16\\
     17Адреса на изворниот код: https://develop.finki.ukim.mk/projects/SaveSpace/browser
     18
     19Дополнително апликацијата ја хостирав на сервер за тестирање кој ќе биде опишан во делот "Презентација".
     20
     21=== Структура на изворниот  код ===
     22
     23Структурата на датотеките во Laravel е по избор на развивачите, но за да е во тек со други апликации и разбирлива за други, добро е да се држиме на класичната MVC структура.
     24
     25Model-View-Controller (MVC) [12] е модел кој ја дели апликацијата на три главни логички компоненти: модел, приказ и контролер. Секоја од овие компоненти е изградена за да се справи со специфични развојни аспекти на апликацијата. MVC е една од најчесто користените индустриски стандардни рамки за развој на веб за креирање скалабилни и проширливи проекти.
     26
     27- **Модел**\\
     28  Компонентата Модел одговара на целата логика поврзана со податоци со која работи корисникот. Ова може да ги претставува или податоците што се пренесуваат помеѓу компонентите Приказ и контролер или кои било други податоци поврзани со деловната логика. На пример, објектот Customer ќе ги преземе информациите за клиентот од базата на податоци, ќе манипулира со нив и ќе ги ажурира податоците назад во базата на податоци или ќе ги користи за прикажување податоци.
     29
     30- **Приказ**\\
     31  Компонентата View се користи за целата логика на UI на апликацијата. На пример, приказот на клиентите ќе ги вклучи сите компоненти на корисничкиот интерфејс, како што се текстуални полиња, паѓачки склопки, итн. со кои ќе комуницира конечниот корисник.
     32
     33- **Контролер**\\
     34  Контролерите дејствуваат како интерфејс помеѓу компонентите на Model и View за да ја обработат целата деловна логика и дојдовните барања, да манипулираат со податоците користејќи ја компонентата Model и да комуницираат со Views за да го прикажат конечниот излез. На пример, контролорот на клиентите ќе се справи со сите интеракции и влезови од Приказот на клиентите и ќе ја ажурира базата на податоци користејќи го моделот на клиентите. Истиот контролер ќе се користи за прегледување на податоците на клиентот.
     35
     36
     37{{{#!rbox type="note" width="15em"
     38Многу е долго поделете го во сегменти
     39}}}
    4340Во Laravel Root directory се нарекува главниот директориум каде се наоѓа целиот изворен код од апликацијата. App апликации
    4441директориумот на апликацијата го содржи основниот код на апликација. Директориумот Config, како што имплицира името, ги содржи сите конфигурациски датотеки на апликација. Database директориумот ги содржи миграциите на базата на податоци, вредностите кои се запишуваат за моделот и семиња за тестирање на датабазата. Public директориум ја содржи датотеката index.php, која е влезна точка за сите барања што влегуваат во апликацијата и го конфигурира автоматското вчитување. Во овој директориум се сместени и  сликите како и интерфејсите на апликацијата. Resources директориумот ги содржи фронтенд делот т.е. интерфејсите на апликацијата кои ќе бидат рендерирани во соодветен код за приказ на прелистувач, како на пример некомпајлирани скрипти. Во овој директориум се сместени и сите јазични датотеки. Директориумот Routes ги содржи сите дефиниции за рути за апликацијата. Иницијално, неколку датотеки со рути се вклучени со Laravel: web.php, api.php, console.php и channels.php. Датотеката web.php содржи рути кои ги поставува во групата веб-базиран софтвер, која обезбедува контрола на сесија, заштита од CSRF и шифрирање на колачиња. Во мојот пример сите рути се дефинирани во web.php датотеката.
     
    4845
    4946
    50 == Имплементациски дијаграм
    51 
    52 
    53 === Најава и автентикација
     47== Имплементациски дијаграм ==
     48
     49
     50=== Најава и автентикација ===
    5451
    5552Во овој дел ќе бидат претставени одредени функционалности од системот кои се почесто во употреба и ќе биде објаснето како се имплементирани. Ќе започнам со објаснување за начинот на креирање на оддел кој е предуслов за креирање на фолдер т.е. документ.
    5653
    57 {{{#!rbox type=todo
    58 Тука првпат спомнувате MVC, треба да објасните што е тоа во една реченица, како што правевте и поопсежно на други места, и да дадете референца.
    59 }}}
    60 {{{#!rbox type=comment
    61 Додадов објаснување за MVC погоре
    62 }}}
    63 
    6454Во MVC системот моделот е класа која се состои од податоци запишани во одредена табела во база. View го претставува интерфејсот преку кој корисникот комуницира со апликацијата. Кога корисникот презема акција, Controller се справува со акцијата и ги ажурира податоците во база преку моделот доколку е потребно.
    65 
    66 {{{#!rbox type=todo
    67 Некои реченици се нејасно напишни, да се рефразира.
    68 }}}
    69 {{{#!rbox type=comment
    70 Тргнат е параграфот, додадов објаснување погоре
    71 }}}
    7255
    7356Ќе започнам со објаснување на начинот на најава и автентикација во апликацијата. За автентикација се користи Middleware [14] кој претставува механизам за проверка и филтрирање на HTTP барањата на апликацијата. Laravel вклучува софтвер кој потврдува дека корисникот е автентициран. Ако корисникот не е автентициран, ќе го пренасочи корисникот на екранот за најава. Меѓутоа, ако корисникот е автентициран, ќе дозволи барањето да продолжи да се процесира. Освен базичните класи за автентикација кои ни ги овозможува Laravel во Middleware директориумот ги додаваме сите проверки кои му дозволуваат на корисникот да се автентицира.
     
    179162
    180163=== Управување со оддели
    181 
    182 {{{#!box type=todo
    183 Најдобро прво објаснение, а потоа пример, а не обратно. Свртете ги обратно и сменете го и објаснувањето во текстот да е соодветно.
    184 }}}
    185 {{{#!box type=comment
    186 Корегирано
    187 }}}
    188164
    189165Класата Department во која се дефинирани сите променливи кои претходно ги запишав во датотеката за миграција на табелата