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


Ignore:
Timestamp:
12/20/21 19:35:31 (3 years ago)
Author:
151545
Comment:

Legend:

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

    v21 v22  
    1818Слободно наведете дека изворно работевте на Github и од таму е пренесен тука кодот за чување во проектниот простор на факултетот.
    1919}}}
    20 {{{#!box type=done
     20{{{#!box type=comment
    2121Корегирано
    2222}}}
     
    2727Недостасува краток опис на организацијата на датотеките.
    2828}}}
    29 {{{#!box type=todo
     29{{{#!box type=comment
    3030Корегирано
    3131}}}
    3232Структурата на датотеките во Laravel е по избор корисникот но за да е во тек со други апликации и разбирлива за другите добро е да се воздржиме на класичната MVC структура. Model-View-Controller (MVC) [https://www.tutorialspoint.com/mvc_framework/mvc_framework_introduction.htm] е модел кој ја дели апликацијата на три главни логички компоненти: модел, приказ и контролер. Секоја од овие компоненти е изградена за да се справи со специфични развојни аспекти на апликацијата. MVC е една од најчесто користените индустриски стандардни рамки за развој на веб за креирање скалабилни и проширливи проекти.
    3333
    34 Модел\\
     34- Модел\\
    3535Компонентата Модел одговара на целата логика поврзана со податоци со која работи корисникот. Ова може да ги претставува или податоците што се пренесуваат помеѓу компонентите Приказ и контролер или кои било други податоци поврзани со деловната логика. На пример, објектот Customer ќе ги преземе информациите за клиентот од базата на податоци, ќе манипулира со нив и ќе ги ажурира податоците назад во базата на податоци или ќе ги користи за прикажување податоци.
    3636
    37 Приказ\\
     37- Приказ\\
    3838Компонентата View се користи за целата логика на UI на апликацијата. На пример, приказот на клиентите ќе ги вклучи сите компоненти на корисничкиот интерфејс, како што се текстуални полиња, паѓачки склопки, итн. со кои ќе комуницира конечниот корисник.
    3939
    40 Контролер\\
     40- Контролер\\
    4141Контролерите дејствуваат како интерфејс помеѓу компонентите на Model и View за да ја обработат целата деловна логика и дојдовните барања, да манипулираат со податоците користејќи ја компонентата Model и да комуницираат со Views за да го прикажат конечниот излез. На пример, контролорот на клиентите ќе се справи со сите интеракции и влезови од Приказот на клиентите и ќе ја ажурира базата на податоци користејќи го моделот на клиентите. Истиот контролер ќе се користи за прегледување на податоците на клиентот.
    4242
     
    4848
    4949
    50 
    51 
    5250== Имплементациски дијаграм
    53 
    54 
    5551
    5652
     
    10399''Листа на рути за автентикација''
    104100
     101Преку методот showLogin() го прикажувам интерфејсот за најава во апликацијата. Во методот login() се врши најавата. Во овој метод има два параметри од кои едниот е валидацијата на податоците преку барањето која се врши преку класата LoginRequest како и $hashid од класата HashId која ни помага при енкодирање на токенот за верификација на најавата. Во овој метод проверуваме дали корисникот постои во база, е активен т.е. дали креирал лозинка и се најавил во системот и дали има внесено точна лозинка. Потоа му се генеира безбедносен код кој ќе му биде испратен на е-пошта за верификација на најавата преку VerifyUser класата за праќање на нотификација како и токенот за верификација преку кој ќе се најави. По автентикација на корисникот ќе му се појави екранот за внес на кодот за верификација т.е. ќе се прати барање до контролерот VerifyLoginController.
     102
    105103{{{
    106104
     
    154152''Методи од контролерот LoginController за најава во апликацијата''
    155153
    156 Со помош на методот showLogin() го прикажуваме интерфејсот за најава во апликацијата. Во методот login() се врши најавата. Во овој метод има два параметри од кои едниот е валидацијата на податоците преку барањето која се врши преку класата LoginRequest како и $hashid од класата HashId која ни помага при енкодирање на токенот за верификација на најавата. Во овој метод проверуваме дали корисникот постои во база, е активен т.е. дали креирал лозинка и се најавил во системот и дали има внесено точна лозинка. Потоа му се генеира безбедносен код кој ќе му биде испратен на е-пошта за верификација на најавата преку VerifyUser класата за праќање на нотификација како и токенот за верификација преку кој ќе се најави. По автентикација на корисникот ќе му се појави екранот за внес на кодот за верификација т.е. ќе се прати барање до контролерот VerifyLoginController.
    157 
    158 {{{
    159 public function toMail($notifiable)
    160     {
    161         $hashId = new Hashid();
    162 
    163         return (new MailMessage)
    164             ->greeting("Login verification")
    165             ->line("To verify click the button and enter your security code.")
    166             ->line("Your security code is: " . $this->user->security_code)
    167             ->action("Verify", route("verify-login.index", [
    168                 "id" => $hashId->encode($this->user->id),
    169                 "token" => $this->user->verify_token
    170             ]));
    171     }
    172 }}}
    173 
    174 ''Метод од класата VerifyUser за праќање на верификацискиот код по е-пошта''
     154Секогаш се почнува со приказ на интерфејсот т.е. index методот која служи за приказ на целата колекција од податоци. Откако корисникот ќе се најави ќе стигне барањето до методот verify кој ќе го прими барањето, ќе направи декодирање на претходно енкодираниот $hashid и ќе му дозволи на корисникот да се најави во системот.
    175155
    176156{{{
     
    196176
    197177''Методи од контролерот VerifyLoginController''
    198 
    199 Секогаш почнуваме со приказ на интерфејсот т.е. index методот која ни служи за приказ на целата колекција од податоци. Откако корисникот ќе се најави ќе стигне барањето до методот verify кој ќе го прими барањето, ќе направи декодирање на претходно енкодираниот $hashid и ќе му дозволи на корисникот да се најави во системот.
    200 
    201178
    202179