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


Ignore:
Timestamp:
12/20/21 18:59:17 (2 years ago)
Author:
151545
Comment:

--

Legend:

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

    v19 v20  
    77== Организација на контролата врз верзии на изворниот код
    88
    9 За контрола врз верзиите на изворниот код ќе се користи алатката Git.
     9За контрола врз верзиите на изворниот код ја користев алатката Git.
    1010
    1111
     
    1818Слободно наведете дека изворно работевте на Github и од таму е пренесен тука кодот за чување во проектниот простор на факултетот.
    1919}}}
     20{{{#!box type=done
     21Корегирано
     22}}}
     23Иницијалното репо за апликацијата го креирав на Github [https://docs.github.com/en/get-started/quickstart/hello-world] платформата за хостирање или зачувување на код. Преку интерфејсот на Github ја добиваме истата структура на апликацијата која ја развиваме. На многу едноставен начин може да се зачуваат измени од кодот преку Git алатката и да се управува со верзии на кодот. Секое репо може да има неколку гранки во кои на една од нив се развива  целата апликација и во иднина може да се креираат дополнителни гранки за нови фукнционалности. Тоа ни олеснува да пристапиме до некоја постара верзија на апликациајта каде што нема дополнителни функционалности кои не се потребни. Во процесот на развој ја користев гранката develop и потоа кодот ја пресликав на главната гранка master. Кога завршив со развојот направив пресликување на целото репо во проектиот простор на факултет каде може да го добиете изворот од кодот и логови за направени измени. Дополнително апликацијата ја хостирав на сервер за тестирање кој што ќе биде опишан во делот "Презентација".
     24Линк до изворниот код: **[https://develop.finki.ukim.mk/projects/SaveSpace/browser Извор - SaveSpace]**
    2025
    2126{{{#!box type=todo
    2227Недостасува краток опис на организацијата на датотеките.
    2328}}}
    24 
    25 
    26 
    27 **[https://develop.finki.ukim.mk/projects/SaveSpace/browser Извор - SaveSpace]**
     29{{{#!box type=todo
     30Корегирано
     31}}}
     32Структурата на датотеките во Laravel е по избор корисникот но за да е во тек со други апликации и разбирлива за другите добро е да се воздржиме на класичната MVC структура. Model-View-Controller (MVC) [https://www.tutorialspoint.com/mvc_framework/mvc_framework_introduction.htm] е модел кој ја дели апликацијата на три главни логички компоненти: модел, приказ и контролер. Секоја од овие компоненти е изградена за да се справи со специфични развојни аспекти на апликацијата. MVC е една од најчесто користените индустриски стандардни рамки за развој на веб за креирање скалабилни и проширливи проекти.
     33
     34Модел
     35Компонентата Модел одговара на целата логика поврзана со податоци со која работи корисникот. Ова може да ги претставува или податоците што се пренесуваат помеѓу компонентите Приказ и контролер или кои било други податоци поврзани со деловната логика. На пример, објектот Customer ќе ги преземе информациите за клиентот од базата на податоци, ќе манипулира со нив и ќе ги ажурира податоците назад во базата на податоци или ќе ги користи за прикажување податоци.
     36
     37Приказ
     38Компонентата View се користи за целата логика на UI на апликацијата. На пример, приказот на клиентите ќе ги вклучи сите компоненти на корисничкиот интерфејс, како што се текстуални полиња, паѓачки склопки, итн. со кои ќе комуницира конечниот корисник.
     39
     40Контролер
     41Контролерите дејствуваат како интерфејс помеѓу компонентите на Model и View за да ја обработат целата деловна логика и дојдовните барања, да манипулираат со податоците користејќи ја компонентата Model и да комуницираат со Views за да го прикажат конечниот излез. На пример, контролорот на клиентите ќе се справи со сите интеракции и влезови од Приказот на клиентите и ќе ја ажурира базата на податоци користејќи го моделот на клиентите. Истиот контролер ќе се користи за прегледување на податоците на клиентот.
     42
     43Во Laravel Root directory се нарекува главниот директориум каде се наоѓа целиот изворен код од апликацијата. App апликации
     44директориумот на апликацијата го содржи основниот код на апликација. Директориумот Config, како што имплицира името, ги содржи сите конфигурациски датотеки на апликација. Database директориумот ги содржи миграциите на базата на податоци, вредностите кои се запишуваат за моделот и семиња за тестирање на датабазата. Public директориум ја содржи датотеката index.php, која е влезна точка за сите барања што влегуваат во апликацијата и го конфигурира автоматското вчитување. Во овој директориум се сместени и  сликите како и интерфејсите на апликацијата. Resources директориумот ги содржи фронтенд делот т.е. интерфејсите на апликацијата кои ќе бидат рендерирани во соодветен код за приказ на прелистувач, како на пример некомпајлирани скрипти. Во овој директориум се сместени и сите јазични датотеки. Директориумот Routes ги содржи сите дефиниции за рути за апликацијата. Иницијално, неколку датотеки со рути се вклучени со Laravel: web.php, api.php, console.php и channels.php. Датотеката web.php содржи рути кои ги поставува во групата веб-базиран софтвер, која обезбедува контрола на сесија, заштита од CSRF и шифрирање на колачиња. Во мојот пример сите рути се дефинирани во web.php датотеката.
     45.php е местото каде што можете да ги регистрирате сите канали за емитување настани што ги поддржува вашата апликација. Storage директориумот за складирање ги содржи сите компајлирани шаблони како и конфигурацијата за зачувување на датотеки. Директориумот на апликации може да се користи за складирање на сите датотеки генерирани од вашата апликација. Рамковниот директориум се користи за складирање на датотеки и кешови генерирани од рамка. Конечно, директориумот за дневници ги содржи датотеките за дневници на вашата апликација.Vendor директориумот ги содржи сите зависности од Composer [https://getcomposer.org/] кој што претставува управуавач на зависносни пакети во PHP. Поголемиот дел од вашата апликација е сместена во директориумот App кој содржи дополнителни директориуми како што се Console, Http и Providers. Во директориумот Console додадов clearAll класа која што како една команда ми заменува четири команди во исто време за чистење на кеш и конфигурација на апликацијата. Директориумот Http ги содржи контролерите, конфигурацијата за автентикација и валидациските класи за моделите. Речиси целата логика за справување со барањата кои влегуваат во апликацијата се запишани во овој директориум. Директориумот Models ги содржи сите класи на Eloquent модели. Eloquent ORM [https://laravel.com/docs/8.x/eloquent] вклучен во Laravel обезбедува едноставна имплементација за работа со базата на податоци. Секоја табела со база на податоци има соодветен „модел“ кој се користи за интеракција со таа табела. Директориумот Notifications иницијално не постои, но се креира автоматски ако ја извршите командата Artisan make:notification. Истиот ги содржи сите известувања што ги испраќа апликацијата, како што се едноставни известувања за настани што се случуваат во апликацијата. Во конкретниот пример праќам нотификација за промена или заборавена лозинка, верификација на кориснички профил, промена на е-адреса како и OTP код за верификација на најавата преку маил.
    2846
    2947