Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/9181
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorРідкокаша, Анатолій Андрійович-
dc.contributor.authorМульченко, Василь Віталійович-
dc.date.accessioned2026-03-28T11:45:58Z-
dc.date.available2026-03-28T11:45:58Z-
dc.date.issued2022-06-17-
dc.identifier.urihttps://er.chdtu.edu.ua/handle/ChSTU/9181-
dc.language.isoukuk_UA
dc.titleWЕB-орієнтована система обліку сімейного бюджетуuk_UA
dc.typeBachelor Thesisuk_UA
Appears in Collections:121 Інженерія програмного забезпечення (Інженерія програмного забезпечення)



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
МІІ-ІІ СТЕРСТ\3O ОСВІТИ І Н АУКИ УКРЛЇІ-ІИ 
Ч ЕРКАСЬКИЙ ДЕР)ІСЛВНИЙ ТЕХІ·ІОЛОПЧНИЙ УНІВЕРСИТЕТ 
Факультет і1н\юрмо1tііі1111х тех,юлоrіfі і с 11стсм 
Кафедра 11ро11)ам 1ю,-о зnбсз11е11с111н1 :нпомат11зовn1111х с11сте~1 
Пояс111ооаJ11,1н, заr111с1<а 
до 1<1.1алі фію111ііі11ої рuбот11 6аю1т111рn 
з ІІЗІН)ЯІ\І\' 11і ;tготоню1 121 «\11жс11ср іи тю11,:ш1101 ·0 зnбсз 1 1счс111111 )) 
(l'C" I 1111.(>• •мліфіоn11іП1111П рі11~111.} 
11.1 тему: 
\\1ЕВ-ОРІЄНТОВАНА СИСТЕМА ОБJІІКУ СІМЕЙНОГО БІОД)КЕ'ГУ 
B111<011au: студс11т 4 1,урсу гру1111 ГІ З- 1 84 
С11еціаль11ісп, : 
«Інженерія пршра :-.11ю1·0 забез11счс1111JІ» 
(11111фf1 Ї 1 1:нн:1 ll:tllj1M\I)' 11і .1ННlН'І"Н) 
Студе11т_ __М уль\Іен1ю В_.В. 
{ 11('11611ЩС 1: t ІІІІІІНІJІІ І ) 
Рідt<окаша А.А. 
( 11рі11111щ~ 1:1 і 11 і11і:1:111} 
Чср1шси 2022 роІСу 
Фщ1~1а .N1J У -9.UІ  
Доданж 2 
. Чср1сrtс1,ю1аі /\СІ)Ж:нн111іі тсх1нщогі•11111іі у11івсрс11тст 
Ф,жуЛІ,ТСТ 111форщщі іі1111х тсх11олnrііІ і С ІІСТСМ 
--1щ--,.-11-. ,-,.-,.-.~1 - -------- - - - -
Кафедра 11\ЮПЩІ'\ІІ ІО І '() :1а6с·111с •1с 11 ш1 11 ІІТО~ІаТІІЗОВ:\ІІІІХ СІІСТСМ 
(11nn11n ""' "") - ----------
J·ll\ llJ)Jl:\I 11ідгото111, 11 І ІІЖЕІІ Еf'ІЯ Пf'ОГІ'ЛІ\11\ОГО З,\ІіЕЗ ІІЕ'ШІІІІЛ 
'""·'·"""'"' -------- ----
Снсніал , .~,ісп, 12 1 « 11І ЖЕН ЕРІЯ ПР()ГРЛ І\ ІІ ЮГО З,\\іІ :J ІІЕІ\ЕІІЮІ )) 
1. .· ,,,1 , 1111н1:.J ----------- -
ЗЛТІ3ЕРДЖУІО : 
31111. ю1фс;1р11 - ~ 
"..Q_ ., _ tJ_z_,  20 'l::l!>. 
]ЛВДЛІІІІЯ 
11:1 1-:na.ra iфii-:щiii11y \)Qfio1-y fі:ща .'1:1111•:1 
І>ІІІШJН\11 ) " 
1111111;\ J'ІІНІІ4) 
СТ)') ІС І ІТ)' М уЛL. 'І СІІ І(О В .В . 
І. ТеІ\Іа проекту (робот11 ) \~' сІ1-оріс11то11а11:1 с11стема облі~сv сімеіі1~ого бюлжсТ',' 
·щшсрд;~.с 11 а ш11,азом оо у1 1івсрс11тсту ві 11 ''ОТ'О2 2022р. №.!45/04 
2. Тер~1і1 1 :щачі стущ.~ 1 ,том ·шкі11111.щ11н 11рщ;кту (р()()о 111) "O(i" 06 2022 р. 
3. В11хід11і дані до 111юспу (роботн); _____ __________________  
ОПЕІ'АІІІ(ІІІА СНСТЕМЛ - І\1 ІСІЮSОFГ \1/ІNIJ0\\1S ХІ'/7. _________ ____ ____  
(тt111и•ш1атьсл "-І.1І.Іt-,: іспі 060 (то) JІкісиі ,ю1.1111тщ,, щ,·и.н ,,,итц,,п иіr)1111щ',)тщ, оГ, '(",;m прщ:;.;т_\'Іmшт 
,,ny,.:01,'1, . •о 1)1 Jl :'11t) .J.'1't'Utt11) 
'1 . з~1і с1 розраху111, 01ю-11ояс111ова,11, 11ої ·Ja1111c1:11 (11cpl'.11i1< 11111 ,11 11,, що їх 11ш1еж11т1, розроб11т11) 
І . О1111с 11:11,р~щ у дослі;1;І(с1111 я _ ______ _ _________ ___ ________  
2 . А ІІ іІJІ Ї ] Ї СІІ\1Ю1 /І ІХ pi tllt:111, 
3. Л11ал із ссрСJJОв 111н::1 розроб,т 
4 .01111с позробю1 СІІСТСІ\ІН 
5. В11с11тш11 
U. . О ~a'f 1(11 
5. П срслі1 : 1 ·раф і 1 1110 1 ·0 матсріш,у 
РНСУІІОІ( Г. І - ГолООІ ІЛ СТОІ'ІІІ КА . 
РІІСУ І ІО І( Г.2 -ЗлДЛЧІ ДОСЛІ/\ЖГ:1 11\Я . 
РІ 10 '1Ю К J' .3 - Сt;І'!ЩОІ311І.\ІЕ. РОЗІ'О І;ю-1 . 
РІtО'ІЮК ГА - І СІІУІОЧ І ПJ)()ГРЛМІІ І Л І ІЛЛОГІІ. 
РІІС'УІЮК Г.5 - ОПІІС СІКТІ:М ІІ . 
б . Даr.1 ВІІЛ:t'Іі з:10да1111я ___o ~s~-~0~2:.;.,:,2:,:.:0~2=-=2~P:......·- --- -----------
1,:,ле1 1д:1 1н 111 іі ш1 :111 
(ІІfІЇJПІІІUС. Ї ІІЇ ІІЇ:JJНІ) 
N!! Н:вва сnтів о~ 1 11усююї магістерс 1, 1<()Ї Стро ,< ш1 1<011ш 1 ш1 етап ів 
Пр11мі11 
з/в роботн в рос кту (1юбот11 ) 
1 ПІДГОТОВІ/rJ СТАЛ/f/ ВЕРЕСЕ/11, ВНІ<ОІІ,/1/о 
1.1 ПОСТ,ІІІОВК.-1 ЗАд:11/І ІJЕРЕСЕНІ, BNKONtl/JO 
1.2 пшrотоnкА з.-1вл,11111я ВЕРЕСЕНЬ ВNКОІІ,1110 
1.3 Погоджпшя зr1вд,11111я ЖОВТЕНЬ ВНІ(О/1,І/JО 
1.4 3А ТВЕРЛЖЕJІNЯ 3.-ІВДАІІІІJ/ ЖОВТЕ/11) В 1/1(011,ІJ ІО 
2 OСІІОВ/JА CTAдlJl ЖОВТЕNЬ В ІІКОІІА //0 
2.1 ПІДБІР МАТЕі'ІАЛІ/3 ЛНСТОП,Щ ВІІКОІІАНО 
АІfАЛІЗ 1/JЛЯ.\Ш РІШЕІ/ІІЯ ПОСТ.-ІПЛЕІІОЇ 
2.2 ЗАДАЧІ .ПІІСТО/1,ІД 
. ІJНКОІІ.· І І/0 
-' ·-' OФОРЛLГJЕ/1НЯ ПЕРВІС/fОЇІ'Е.L/,ІІЩІі РОБОТІ/ СІЧЕНЬ BllKOll.-11/0 
з 3АЮ1/ОЧНА СТАД/Л СІЧЕNІ, !JHKON,11/0 
OФОІ'.\ІІІЕІІІІЛ ІІОJ/СНІОІJ,І.ПМ/ОЇ З.-ІПІ ІСКІ І 
З. 1 РОБОТН БЕРЕЗЕІІЬ Внкон. . ,но 
3.2 3,ІТВЕРДЖЕ/f/fЯ РОІЮТІІ ТР.-ШЕ/fЬ ВNКОІІ:ІІІО 
З.З РЕЦЕНЗУВАННЯ РО/ЮТІ! ТРАВЕНЬ ВІІКОН,ІІІО 
Студент 
М ,•л 1 ,чснко В.В. 
(11різо1ш1.: rn i11i 11inм1 J 
Ксрін11111, 11роскту 
Рjдrюкаша А.А. 
(11pi·Jo11111c т3 і11і11іат1) 
ЗМІСТ 
ВСТ\' I1 ............................................................................................... ....................... З 
І ДОСЛІД)КЕННЯ ПРЕДМЕТНОЇ ОGЛЛСТІ .................... .................................. 5 
І . І Аналіз 11редмет11ої облnсті ............................................................................ 5 
1.2 Огляд існу1оч 1-1х аналогів ............ .. ........................ .. ............................... ....... 8 
2. ПОСТАНОВКА ЗАДАЧІ . ТЕХНІЧНЕ ЗАВДАННЯ ..................................... 15 
2.1 Мета та завдан11я робот11 ....................... .. .. ..... ..................... ......... ............. .. 15 
2.2. Коротк11й ОІlІІС тn ПJ)Н ЗІНlЧСІІ ІІЯ ............................................... .................. 15 
2.3 Загаль11 а характер 11сТ111<а с 11сте11III .............................................................. І 6 
2.4 Вимог11 до обчнслювnльного середовIнца ................................................ 21 
-? · 5 З n ' ЯЗОІ,·  .І З ЗОDІ І .І ШІ!І.І ІІ ссре· дОDІ·І ЩСМ ............................ ................................. ?-?- 
2.6 Доку111ентація СІІСТСІ\·ІІІ .............. . ......... .. ... . ................. ... ...... . ........................ 23 
2. 7 Якіст1, снстем I1 ................................................... .......................................... 27 
3. ПРОГРАМНО-ТЕХНІЧНІ ЗЛСОГ>И . ОПИС РОЗРОБЛЕНОЇ СИСТЕМИ"29 
3. 1 В11бір 11рограм1ю-тех 11і • 11111 х засобіо .......... ........ ........ .............. ... ............ ... 29 
3.2 Опис інтерфейсу та фу1 11<ц і о 11 nл 1,1н1х 111ожливостеі1 .... ............... .............. 36 
ВІ1СНОВОК ...................................................... ................................ ..................... 56 
ВИКОРИСТАНА Л ІТЕРА ТУРА ........ ................................. ................................. 58 
ДОДА'ГОК А ........... .. .......................................... ................................................... 60 
ДOJJ.A ТОК Б .................................... .... ...................................... ... .................. ........ 62 
ДОДАТОК В ............................................ .. ............................................ ............... І І І 
J~ОДА'ГОІ< Г ............................................... ............ .............................................. 129 
Ч /.~І'У.22 1 8 I 9.008 ПЗ 
lм . JІщ:1 /{~;111к 1•мс11111 І І і111111с Jlr11a 
,~І'11щ11(j , -М...:).І..І~ИСІІКО IJ~.IJ . ~ - - \\1сЬ-орі <.' ІІТО ГЮ ІНІ С ІІ СТСІ\ІП JІ І1 ·. І J l11,· 1 І Jl11 ,· , і11 
1(~11ЇІІІ ІІІІ С f'ЇІІІ<ОЮІІІІ/1 Л.Л. І І І з І 
06J1іку 1.:ім~І і11 о го бю11жсту 
ФІТІС 1 ·р. 113- 1S 4 
ІІ.1:1)11111. (Полс 111 о вш11 , 1 1<1 '3ш 111 ска) 
:J:11 11. 
І 
2 
ЧДТУ .2218 19 .00R 113 
BCTYll 
3 бурхл 11 u11м 1юзu11тком і 1нjюрм:-щі іі1111х ТСХІІОЛОІ"ііі і ~,срсжі І11тср11ст 
відбув::~сться 11 :~с 11 че1 11 1 я мережі ко11тс11rом різ 11ого зм істу, я кост і П\ u:1ж1111пості. 
Коже11 KOJ)I IC1J'U3Ч ІІ3МЗГ3СТІ,СЯ розмістнп, і11форм::щію, яка 03ЖJІІІІІ:1 лт, 11 1,ОГО j 
З:lдОUОЛ І,ІІЯ С і; ого потреб11 . 
П рограма с досту111юю для ш11рокого з:н-:1лу людс і і. :~ле щоб :тnііт11, щос,, 
о::~ртіс 11е часом дооод11 т1,ся 011 11)зпп11 бm-:по 11:-icy. l-l ::i cтi J11, 11i дощп 1-.11 зруч11 і з 
точю, зору корttстуоr~ чз тttм. що збері1':lюп,ся 11:1 оююму 11 осії, досту11но , 1у рю1у 
кор11стувач 1 в. Але тут в11 1 111кас проблсмз мобіл 1, 1 юсті , у11ра1т і111 н1 оідда.ле1111 1\ 1 
ДОСТ)' І JОМ , залеж1ю ВІД харЗІ,.їСJ) ІІ СТІІК 11р11 з11:1 1 1с1юго ДЮІ кор11стува•1а 
~-омп'ютера. Перш 11 1ж n11кор11стоnушп11 прогр.~му необхідно прооесп1 
установку І су 11утн1 їїі дії. І1пер11ет ДО/\ПТІ< ІІ ШІ в і1 1мі 11у від 11аст іл1, 11н х ІІС 
потребуют~, ц11х діях і 11 11мз1':!ють тіл ьк 1 1 11nяоніст1, і 11тернст з'сд 1 ш111rя. 
Заnдяю1 11111рокому пош11рс1111ю мережі І 11тер11ст орr:111і з,щії отр 1шуют1 , 
111 0;.ю11101ст1, за допомогою nеб-сnііту 11.~даоа1 11 соос11асну і11формnцііі11у 
11ідтр11мку, здііk11юоат11 р із11у діяль11 іст1, о т і іt •111 і11ш і іі області , з:1оща,u.жую1 111 
11р11 ш,ому час і ззбсзнс1 1ую•111 соб і біm,шу r<і 11 ьt-іст1, ю1іс11тів і пр116ут ку. 
. . 
Деякі оеб-саііт1 1 пропо11уюп, доступ )lO вет 1•1ез 1юї l(JJ1 t, J(QCTI 
rіз1юм ,н1іт11 1 1х ресурсів. Зазn11 • 1 а іі т.:~кі uсб-сnііт11 11 :1 з 11 11ают1, всб- 11 ортатш11 . 
С-1ооrс1111я 11орт:~лу 1
Ullf) IIJ/)'C 11роб,,с~,у З СДІ І І\ ІІІ ІJІ З ДСІШІІ,КОІ\1 !\ 
1(0 J)ІІСТ)' ІІ:1 1 Іа ~111 , що ДОЗІЮШІС СІ(ОІІ ОМ ІІТІІ pecypctt Іі0р11сту1111• tа, 11 11р 111 1ус 
11роблсму мобіт,11ості і , юзб.:~ол яс кор11сту11сР 1а 11po6J1cr.1 су11 1ювоJ1у 11 rю1·рш,11ю1·0 
забезпс • 1с 1111я. J;ухпштсрія розгтщастt, С)І :11( )' ІІ ОJ)Н) ІІЮІІ!І І \ [І СІ ІСТСІ\ І СІ збору' 
pt:ccтpattiї тn )'З і\П.JJІІ, ІІ СІ ІІ НІ і 11форманії В І"JЮІІІОІІtШ)' 1111раж~11 1 1і, 11ро СТ:1 11 1\111ЇtІІН, і 
ііого змі111 1 111т1хом обліtсу всіх гос1юнарс1, 1" 1 х онср~щі іі . Розr. 1 іщс 1 11 ~н 11ортш1у 11 
і11тср11с ·1 і ДОІІОМ ()іІСС tcop11 cтyna 1J[IM ЗJ t i ik11 ю11a· 111 011ср1щії І І ІЩ С ІЮСЮ 
бухп,тсрісю і 11срсгтщат11 стnт11сп11,у II бую,-11tіОІ\І)' міс1tі, не с 11р11сут11 і~ 1 
і 11тср11ст ·1'сд11а 11 ш1. 
11 J)OUJICl\ l.t у11рпш1і111111 особ, \СТІ ІМ 6Ю/(іІ\СЛЩ І 111.t _\'І І J ІІ, 1/ОІО /ІJШ ІіОЖІ ІОЇ 
JIIOJJI II II I. Mtt 11ост і 111ю здіІtс ІІ ІОСМО р і1 11 і ІІОІС)'ІІІіІ І , CiCJ)l'f. \() І"JЮІ ІІі II бор, ·, 
з 
ЧДТУ.22 1 8 1 9.ООS ПЗ 
збсріrзсмо заощ:щжс 1111я ... 1 11:1111 бюлжст с11)імко 11ан:-1 с, якщо м11 11ссфскт11 в1ю 
в1прзчзсмо 11:1яn11і фі11з11с11. Роз 1юряджn10•111с 1, 1-рзмот11O своїм 6ю;1жстом 
.11юд11нз 11остііі1~0 с11остсріг.~с. скіл1,ю1 r~юшсіі у 111,ого с, розрnховус, скі111,1<11 
грошеі'і і'іому 11отріб110 n1111х1п1п1. і 11р11іІмnс рішс1111я , де ni11 ~южс :ню11101t11п1 і 
від чого nін може UЗЗІ'1Л і нідМОНІІТІІСЯ . Мож11n СІІІЮСТІІТІІ JtОІІі ІІ[ЮІІССІІ, 
розроб11вu111 всб-Qріс11товз1 111іІ додnтку nсдс1111я обл іку с імс1і110ї бухп,лтсрії. 
01-жс 011ходяч11 з 011щс скзза11O1 ·O я 1111::~жзю за 110трі611с н рамю1х 
n11пусююї бш,алзврської робоп1 розроб 1п11 11сб-оріс11тов:11111і1 нодато~- 11сдс111111 
обліку сімсі'і1юї бух1':1.JІТс рії. 
ЧДТУ.22 1 8 1 9 .008 ПЗ 
РОЗДІЛ І 
ДОСЛ ІД)ІСЕІІІІЯ ПРЕДІ\•І ЕТВОЇ ОБЛАСТІ 
1.1 А11ал із nрслмст11ої області 
Для ПОСТ::ІІІОВКІІ ОСМІІ СЛСІІОЇ зrinna1111я в еоGх ідно 8118'1111'11 11редмет11у 
област1,, в які іі 11111 буде11ю 11рацюоа111, а з 11а•11Iп, 11еобх і.u110 розібр;~т11ся, що т~шс 
бухгалтерін, с 11стсма бух 1·алтсрс 1,коrо обл іку т::~ я к потрі бно вI1кор11стооуо<1тI1 
п р11Iщ11 п11 бухгалтерського обліку n домашніх умоuах . 
Бухпштерія - у11орядкоо.111а с11сте11Iа збору, реестрації 1а  узагаJIь 11с11шI 
і11формацїі о грошовому 011 раже11ні про ста11 мuіі11а , ·юбов'яза111, орrа11 і:J:щії п, їх 
'ІМІІІІ І (р)'Х грОШОВІІХ KOWl iu) ШЛЯХО~І С)'ЦІ J ІІ,11O 1'0, бс1лерсро1юго 
доку11Iс11та11 1, I юго обліку ос1х rосrюдарс I.ю, х оnсра цііі . Об'скп11\11 t 
бухгалтерсL,кого обліку с :.1а іі 1 ю opr-d 11 i1::1цi ii , їх 1обоо'яза1111я госnодарськ, 
oncpri11їi, знііk 111ооа1 1і opr.1 11i ·3ri 11i r1 м11 r1 процесі їх ді 11л1,1юсті . 
Ос 11 0011 11 1\1 з:нщ:шшш бухгалтсрс ь1Со1·0 об.'lіІ(у с формуu.1 1111s1 поо11ої і 
лостоuір11ої і11форr. 1 :111ії (бухг:1-1тсрс1,кої 1віт1юсті) про діил ь11 іс11, ор, ·,шіз:щії, і їі 
маіі1юв111ї ст;1 11 . У 11 :1 11ю11 1у н11nадку не сі ме іі 1 1 11іі (особ1 1ст11іі) бюю1сст. 
Та 1: 1110 ж І\ІІ І хо• I с1110 отр11мат11 о рсзут,т:пі 11 :iuioї робот11? Г0Jюо11010 
111t:тою 11 :1 11 юго проекту с розробка веб-оріс,пооа,юго додатку осдс I111я облі1<у 
сі І\1 сі-і 1 юї бух 1 ·алтсрїі. 
Gухгалт~рс1,к:1 сIIстс ,а (с 11 стема аu·1омат11з:11 1ії бухг:111тсрс 1,ко 1·0 0611і1<у) -
п р11з11ачс11а ллs, веде1111я обліку: бух 1.1лтерс1,кого, фіс к:1.111, 11ого, тоб10 
С ІІJ)SІ :\ІОВ.ІІІОІ ·о 11а ЗЩІОUОJІСІІІ\Я 01\МОПІ дсрж::~n11 З рO1р::ІХ)'ІІІС)' j СПЛ.ІТІІ подr~ткіо. 
За .-.1 асштаfі11істю складІІОСТІ обліку СІІСТС :\111 ПОТОІ\НІТІІЗації 
бyxraJl'I ~рС І ,КОП) обл і ку МОЖІІЗ рОЗДІЛІІТІ1 І Ш КІ J ІІ,,Ка yr.IORII IIX І(JІПСІВ: 
11ерсо11сн1ь11і , для ~ І а.JІІІХ j серед11іх ПІДПJ)ІІОІСТО, для ІJСЛ ІІКІІХ підnрІІС,\ІСТО j для 
ба11кіu. У 11срше л.ссятш1і1тя ХХ І стол іп}І, в У"раї11і , в с 11лу усюшднеI 1шI 
структур11 фі11а11сов11:-. взасм11 1-1 особ11стості і особ11с1 11х фі11а11сuв11х опср:.щііІ 
(через появу і11ст11туту кред11тува11ня , д11ференuіа1tії Jtоходів Iю верстоаІ\ t 
I 1аселе1111 sI н час і , збіJІІ,wен11 і статсіі 011трат, п ояві ~10;ю11111ості пр11 11ап 11I х 
інвест1111ііі ін.). 11аб11rас популярність ynprioлi11ю1 ocoG11c11111 111 фі11анса11111. 
5 
ЧДТУ .2218 1 9.008 ПЗ 
НаіІчnстішс ДJНІ Ш1Х цілеіІ ОІ І КО[')ІІСТООУІОТІ, 11срсо 1 ,ал 1,111 СІІСТСМІІ 
бухrалтерсь1<ого обліку. 
111,об npan11J11,1ю плануоап1 1311трат11 р3ціо11аль1ю розпоряд1п1-1сн 
фіна~1самн, потрібно знат11 oc11on 11 i і отор111111і ста,ті 01прат. Як 1 рао111ю, 
спо>1<11оачі домаш1-1ьої бухп1лтерії далс1<і о ід теорії оедс1111я бухг1'Ілтерс 1,коrо 
обл іку, оr,кс, метод11ка веде1111я домаш111,ої бухгалтерії 1юо11 1111а бут11 зрозуміла і 
доступщ1 для людсі-і , ЯІ( і не з1 н1ноr.1і з тсорісю і 11 рактикою бухгалтсрс1,коrо 
обліІ(у. Ця ідС}І с І'ОJІОВІІОІО в дш,ін роботі. 
Воажастьсн , що ое11с1н1н доІ\1аш 11іх фі11а11сіо - це сющц11е за 11 ягп1 , в111\1 агас 
11ео111-1х навичок. Дііk110, упrавлі11нн до111аш11і11111 фіна1-1сам 1 1 бс3 з11а 1н, про 
фі11а11с1 1 11сможл11 nо. i'1oro 11собхід1ю 1діі1с11юrшп 1 11е-залеж1ю він обснrу 
гроІJ.юо 11 х надходже111, у сімеіі111111 бюджет. 
ІЦо т:ще «дома~11111 фі11а 11с11»? Гооорн•111 11ро но,..1аш111 фі11а11с11 , 
11раш1.111,11іше ожшнп11 саме термі11 «фіна11с11», а не «гроші», ПІІ< s1к Jto гро111с іі 
JІЮДІІ ЗОІ-ІІ(JІ\І стао11т1н.:н СГІОЖІНІаUІ,ІО І (з:1робш1п1 Jl ll tlle JІЛЯ ТОІ'О, щоб n11тра•1ат11) , 
а фіна~1сн мают,, 11а уnюі процес у1 1равл і11 11 я 11ю 1 1J 111\ia. На 111дстnоі 011з11а•1е1~ш1 з 
джерела t І] , · «Фі1-1 а 11с 11 Jl0М3ШІІІ,ОГО , ·осподарстuа · С)'І()'П ІІіСТІ, ОІДІІОСІІІІ З 
11р11воду стuоре11 ш1 та в11кор11ста11ш1 фо1 щів 11юшов11х коштів та фі11и11соо11х 
аt<ТІІВІU, 11еобхідн11х дш1 забезг1е • 1е1 1ш1 ж11ттсдінль 1 юсті чле11іu дом:.~шньо, ·о 
господарства .», Аотор склиu олас11е, б ільш 1ро·.1ум іле 011з11:1•1с1 111 я доr-.нн1111іх 
фі 11n11сів - «Дом..нuні фі11а11с11 - uc сукуn 11і с11, нl·іх доході в і n1-1тр:-~т u род1111і ». 
LЦомісsщя 11еобхід1ю ораховуnnт11 доход1 1 і 3 11 ,1лі-зуват11 вироблені в 1-~трат11 . 
Для ТОГО щоб ОІlТІ-1 1\І ізувапІ веде1111>1 но~нн11 11іх фі11а11сів, рСКОІ\·ІСІІд)'С1'ІО СКJІіІС'ПІ 
фі 11а1коо11н план для осієї род111 111 . Фі11m1сов11і'1 11ла11 с1<ладається пт1: 
І<ОІІТрОЛІО за фіт111сов11 r,1 СТ:-І І ІООІІ ІЦСІ\І сіr.,'ї; 
досяrне1111я фінансових цілеіі сіt- 1 'ї (оплата освіт11 , поїздка з:-~ кордо11 ); 
фі11ансової зах1 1сту сім'ї (11а1ю1111че1111я заощадже1-1ь «1ia чор111-1н де111,»). 
Пр11 склащнші бюджету с і1-1'ї необхідно І3рахооуват1 1 , ЯІ< 011трат11, та" 
доход.11 сім'ї. У кожн і й род1111і дохол11 і 0 1 пратн різні , фінансов11й план у 
6 
ЧДТУ.221 S 19.008 ПЗ 
кож1ю1·0 і11д11оіду::uн,11 111і , :1л с іс11уюп, бюооі ста1,і л.оходіn, нкі бул 11 с1онщс11і 11n 
осноuі статей з джерела: 
au.:111c; 
поuерI1ення 11од::~ткіо ; 
гра11т; 
д11Dіде нд11 з ба11кіос1,к~1х раху11 ків; 
зарпната; 
пе11с1я; 
110дару11 к11 ; 
ДОПО/1\Оїd (батькі І) ) ; 
премія ; 
nрI1 з 11 (шt граші): 
сощаль11а допо!\10ги; 
стII11еIщIя . 
Т<1кож ис в::~рто забуоат11 flJ)O базоnі ст::11ті в 11 тр:1т : 
автомобіJІІ, (бс11з 1111 , І\ t11 іїка, рс111011т, запчаст~,I111, страхоока, стонIIка, 
техогляд, по11апщ , штраф11 , n :чжоою1); 
благодіії 11іст1, , допомога , 11одару1110-1 ; 
побутооа тех 11 іка, 1< ОІ\1 1 'ютср, 011трап1 і 111атер іал 11 ; 
діТІІ (одяг, харчуо;1II 11н , і 11,ашк11 , КІ ІІІГІІ , ІІЯІІЯ, І\Іебл і. ІІОСЛ )' І'ІІ, рОЗВ!\ІїІ) ; 
доr.1аш11 і тI 1арIII III (хар•1у 1за1 1 11я , тооарн дщI тварI11I , Iюс .1 Iу I·II встср1111ара) ; 
здоров'я та Icpac::i (І СОС~ІСТІІКЗ, п.1рфу~1срі11 , C.l J l() IІII І(раС ІІ , сIюрт, JІІ ІОІ , 
послуг11) ; 
. . 
іr юТСІ(U , борr11 , КрСДІІТІІ ( 1)1 11\ЛЗТа ГІО І<J)СJІІ ІТ)', ІІІІІІ J І;\Т.1 ІІО ІІІОТСЦІ, 
дострокове 1·.1сі11ш1 боргу, r юкрнття nідсот"ів) ; 
коарпIра і зв'юо1с (слсJ(тр11 ю1, вод.~ , тепло, I, 1з, раюо, тсж:фон , і11тср11ст, 
оренда, 111Iосзс II 1I н СІ\1ітгs1 , кабел1,11с тенсба 1Iе III нI , охоро11н, 1<0 1 1 с 1, срж); 
податIш і cтp:1xynri1111н; 
освіт:1 (лідру 1 I ІІ ІІ І(І І , JЦ) І ІІtтОВ::Ір11, П JІ[ІТ.1 3[1 lltlB 1 Jallll!I, рСІІСТ1 ІїОр) ; 
одяг і [1I ,сссуарI I (nю1 r, взу·гrя , :1Iссссуир1I, п рIIIсрасI1 , хі r, 1• 1 11 с·п:[1 . атс.111,с, 
7 
ЧДТУ.2218 1 9 .ООS ПЗ 
ремо11т озуття); 
nідПО'І\ІІІОІ{ і розоага (і1·р11, фЇJІt,1'\ 11 , 1{111\ГІ І , )tІІСІОІ, жур1 1ан1 1 , І(:І(\Іс 
рестор.11н~, кі110, фото, тсnтр, 1.111ст:шк 11 . боулінг); 
хnрчува11 ня (ос1юо11і 1 родукп 1 , дсJ1 і к.1тсс1 1 , алкоr·оm,, їжо 1ш роботі, 
шкіщ,11 і сніда11к 11 ); 
різ 11е (службові 0 1 прnт11 , к11 шс111, 1<оnі 011тра11 1 , •miioni, в11есю1, ба11 І{іос1,кі 
комісії, нотаріус, 1прап1 1·рошеі'\, досп11жа товnру); 
ремо11т і меблі ; 
- товар11 дм, дому (біл~1з 11:1 , дрібна тсх1 1 і"::~, і1 1 струr,.1е1п 1 1 , гюсуд, кухо1111с 
начш1 1-1я. товар11 для ванної, 11рсдмсп1 і нтер'сру); 
тр.111с11орт (автобус, проїз 1 1і , аоіа, r. teтpo, т:щсі, слектр1JІ 11<<1) ; 
хобі . 
Те11ер, i-:0J111 мн 031-1аі'\ом 111111ся з сю1а 1юш 1 м11 сі мс і1 1юго бюнжету, 
необх ідно r1роа11ал ізу ват1 1 доход1 1 і в11трат11 І{Ор 1 1стува1 1 а . Якщо він ба•1 1л·1,, що 
1ттрат1 1 11ерев11щуюп, нохо.п.11, то i'\oro сімсі-і11 1 1іі бюджет ~н:обхід1ю 
1 срег,1янут~1, 11poa11a, 1 i-.Jynaт1 t 0 1 1трат1 1 і урізатt 1 ті , без н 10 1х оі11 може обі ііп1с)І . 13 
ДіІ<Срсл і 1·21 1 рсдстаоле 1 1 1 1іІ метод ІІJССТІ І І'JІС'ІІ\І( Ї В , о ЯJ<O l\t )' про1111сt11 1і JIOJ)~III 
ш1а 1 1уоа11 1 1я rн~трат, його аотор 1-1 нnажnють 11аіІr1 раш1л1, 1 1 і 111 1-1 м і об1·ру 11тооа111 1 ~1 . 
Гле•11 1 к пер11тй : о<.:1юв1111іІ (55% оід оашого бюджету) (811тратt 1 , )IJ<i 
С І<ОрОТІПІІ пра 1<Т11 1 11ю ІІСМОЖЛІІО() (лікущ111ш1 , продукт11 х:.1рчуuа1111н , 
ОІlЛ..ІТа І(ОМ)' І ІаJІ І,І ІІ-ІХ ПJІатсжів, ОІІІІJНІПІ 1())1::ДІІ ,· і в)). 
2 Глс•1111< друr11 й: в11тр:1т 11 11а 1юзо.11· 11 ( І U%). 
3 ГJІС'ІІІ І( треті й: З:ІОІJ.J..'ІЛ.ЖС ІІ ІІSІ ( І 0%). 
4 Глсч1-11і чстоертtt і'\: в11трnт11 11.1 освіту ( 10%). 
5 Глс1 11-1 1( 11 'ят11й: рсзсрn11 11й фо1щ ( І 0%). 
6 Г11сч 1 11і шосп1 й : rюдnру11 ю1 (5%). 
1.2 Ог,нщ іс11ую•111х :н1м1u1·і11 
1.2.1 Easyfinance. 1·L1 
s 
ЧЛ.ТУ.221 8 1 9.008 11 ·i 
Компанія E::isyl; i11::111cc Ltd 11рr111юс , 2009 ~юку 111ю1ю11ус 11тн111 нол;~ rк11 
.і1.1Н іР11011с і A11droid обо бсз t-()1111·0011с nснс1111я с імсіі1юго Gюлжсту 11rямо 11.1 
с::~ііті. Версії llЛЯ Іі:ОІ\ІІl1 ІО1-сра ІІС r~рсдСТ'30ЛСІЮ. 
( 3 т::~р11ф11 З рЇЗ ІІ І\1\1 11 фу11кніо11nл 1,11 11 м11 МОЖЛІІІЮСТЯМ ІІ . 
(t І: 
п;: 111 ::·zl 
1'іУРІІІ\Л ОП(Р.І.UІІІІ 
• о r .,_ ,, 
•• 
•• 
...... р 
•• 
fr ..-C'3> • ! 4 7.. І о..J 11 ~ C,1-V ,__,.,,,__ 
r -..L-,~1'1- ... ~ · ~ ~...,.. О.М е ..: 
c,.,.,f'C'olill,,...~ t«.r• ааа аа : JQГ,'j~ }Uti•r,-.,,t1: 
2';;.tl'(~I u..,....r-.; 
Р11су1ю1- І. І - Зовніш 1 1і ії 0111 ·.rнш uеб-долnт1<у easyfin.111ceл1 
П ереоап,: 
11аяв111сп, ос1юв1111х фут:ніії бюджепюї прогрш,111 - з в1пв, 1 ·рафі t-ів, 
пл::111уоа1111я ; 
весь обсяг "ошті u на м існ10, 1 101<,11, 11111ії у 011 1 ·J 1нд і тахоІ\1стра, дl' стрі .11ка 
01(3З)'С ІІЗ І< ЇЛ t,1< іст 1, гIюш~.: ії 11 щ11 11 1ії моме11т. Зру•11t0 СТСЖІІТІІ :ia 111прата і\ ІІІ 
і 1 1е ДОП)'СІШТІІ ПОШІ}JJІІ ІІІ ІІ В червону зо11у; 
МОіІ(ЛІІJЗЇСТІ, пр11в'я1 10t бrt 111с івс 1, І(ОЇ І<rtр'І К ІІ ло і11Шіl)'ІІ1)' (ІІС JІ J ІЛ вс і х fin 111,i в). 
Пр11 опл:зп товар1 в І ІОС J1 )Т l( ilJ)'IOIO 011epnнi,i fіуне П ІІТО /1111 '111 1 111!) 
ЗЗІІОСІП 11с:1 І) ІІ[Ю І prt 111y , І вам ІІІ: JtOlll'Jll'l І,СІІ UІІТРН'НІТІ І 'НІС 11n їі lllll'J\~'1111)1 
npy•111y; 
у 11porpriм1 с 11с 1 1 і ат. 1111 чюб11 с 1111 іі : 1 ІС ІІl'ІІТ 1111 но111 ·осчю1(n11с 11JН11 1~• 1111 111111 , 
що }\ОЗВОJІ:ІС ВЇJІІ(JНІ) l!І'J 11 (Ї}ІІ І 11,1(() I S'Y., l(OXOJ\)' 1111 ІІl'J ІІІКі 1111'11)!1111 , ~1р ії; 
11 ано11істr, l(i1J ICJl ).li1 pSI ·1 11 :11 а}()' І І І ІІ І ІІ Н~ ІІІ 11 ро 11coGxiJ(lfiC'1'1, ІІІІl'ССІІІІ !І 
ЧДТУ .22 І 819 .008 113 
регуJІЯJ)НІІХ ІІлtІТежі 1, 
' 
пporra~,a о ідстежус фіщшсоое ст.)110011ще о крnї11і проr10I1ус в11rIд111 
ріше11ня по n ідкр11mо о~-ладіо. крсд11тів. 
Н едолік11: 
безкоштовна версія п1хщюс ТІЛІ,КІІ ЩІ с:Ііtт і. Не І(ОЖІІОІ'-1 )' захо 1 1ст1.,ся 
в 11 кладат11 всю і111\юр111зцію про свої доход11 в і1 11 ср11ст, хо 1 I ,1 сн ііт і 
ззх 11ще1 111іt ; 
немае і11тсрфеіtсу для у11р,шл 1 11 1 1 я бю,цжетоІ"- 1 декіл1,І(ОХ 1<оr11сту вr~чIв -
11 роrрама оріє1повш1а 1 1а осоG11ст і , а 1 1с сі:11сіі11і фін:шс11. 
1.2.2 drcbcclcn!!-i·. п1 
Ще од1111 011лаі111 сервіс, ~нщіt 11рrщюс з 2007 року. Прсдставле 1 1111і 
11роrра11юю для ко11 1п'ютсра і мобіт,111 ш11 л.одr~тк,ш11 n бсзо11лат11 іі1 тri 11м1т11ііі 
версії. 
Персо.~г 11 : 
1 нн1 в11іс11, рсж11111у для упраолі 11ш1 кіл 1,ко rщ1 кор11стуоа•1ам 11 ; 
щн1m1 іст1, додатків для ко:-.1n'ютср,1 , Лnd1·oi<I , iOS, \~1iodO\\'S РІюое 
можл 11 оіст1, с 1 111хро11ізаu ії щ11-111х 11а рі -з 1111 х nр11строях ; 
. . . . . . 
І ШЯОІІІСТЬ 1 1 ла11уоал1,1111..:а , ЗВІТІВ , n~пстсже1111н ДІtН ;) і\\1101 заЛІІІJ ІІ(І в ; 
1110жн1шіст 1, обробк11 програмою б:~11 1, івс 1, 1.11х с11 1 с лм1 r11по111 ат11 ч1юrо 
ВВС) ІС ІІІІ)І тра111 .:t ю1ііt: 
фу11 " 11ія «Сn11сок покуr,о к». Мож11а с1,ласт11 с n11сєж в nр()грс1 111і пере;t 
Іl ОХОДО~\ І 13 І\І ёl І "аЗ ІІІІ . Зру• 11ю, що СІ(ЩЩUТІ І С ІІІІ СО~- j :щіііСІІІОІJ,їїІІ ПОК)'ІІІ( І І 
J\t0жy11 , різні кор11стуnачі - друж111Iа мо;"~ сI:.1Iасл1 с IIIIсо 1, I1n 1ю~tr1'ютер і з 
дОJ\І )', а •юлоn ік поба 1 1 11тt, 1101·0 11 :1 сnОСІ\ І )' ~\ ІОб і .1 11, , юІ\t )' , 11срсбу11аю1 111 в 
111n1·:131111i - і 11 с треба д11 ктуоат11 11ічого по п·лсфо11у ; 
рс-зер~зне 1<()Піюва 1 1 11н до111 1 х шляхом ві1111рав"11 рс1ср111 111х 1,()11ііі 11:111ошту; 
- 11р11 1 1\ІІІІІЙ ~1і11і І\ І :І Ліст11 1 ІІНІЙ д11заі111 З пр1tСІЮ(ІІШl І\! І.ЩНІІІІОІ( катсгоріЯІ\1. 
10 
ЧДТУ.22 1 8 19.008 ПЗ 
облі ку длн дс1<іль~--ох кор11стува •1іu і с 1111хро11 і з:щїі, 11смнс пт111уоn11 11н 
бюджету, w:iGJ1011iв зоіті u · 
' 
тз~-ож о 6сзкоwтоu11і11 версії 11р11сут1111 рсю1омо ; 
ф:11,,'І1ч1ю, безкоштоо110 версія дозоо11яс тіJІІ,КІІ зоп11суоат11 опср:нLії. 
dtm,oC.t•Іf'fl plt .cc.м а..uш 
~
е .. ,., .оt••Н(ІІ . (./І'НС4'>ПІ)f .іІ!О•С•• 
р, . ..., . , 
8.a.u\I.щU~C-tn ІCПІJOQJaJ~• 
І ... ., . ' •" 
с, .. .. . 
С) ( ~fp61"I( , 19 S90 н . ,• 
• l(Q-'.J tf'lf,( nart111 ,\)(І .. ' 
а. ce,,Q І40014 н~,•~ 
е r ,нnpo,16, .. ,r 41 974 01 І •' 
І 98 S •• 1 . , 
• .Qpyroe 
1= ).л. о;,. S 4 7 1 ♦ 1 , .·, 
11.t •'lfP~PY .. оо ооо.-. . ,!, 
l tтoro 667 •11" 1•,•• 
t ,,s М 11,.1 
! ••_  ...., ~ ...... ~ 
,. •- •- • • ,. • t.uUJ:C .. ,. -- .... 
Р11су1юк 1.2 . Зов11 іш11іі1 ш11·щщ uеб-до;н1т~су d1·сЬсdе1ч;і . п1 
1.2.3 111yb1Jclge1. " 'S 
ПоріОІІЯІІО М(.)JІ ОДІІ іі ccpnic. ЯКІІіі Іl р,щюс з 201 З року . П рОГІОІІ)'С ОСДСІІШІ 
1tо~шнm1,ої бухгалтерії 11и ком 11'ютсрі, 11Jш 11111с1'і тn тслефо11і ч ~::рсз саііт. С 
11робш1 без 1<01uтоu1щ oepcii1 і JІВа 1ІJІап 111 х т:1р11фу - 1ю 249 і 299 рубліu 11а рі ,: . 
І Іереваr11 : 
всдс1111н облі1<у rю декіль,,ох раху111шх : готівкові, 1<apn1, з1ющ1щже111111; 
11аяrшіст1, с1111хро11 ізо11а 1юї 1Сом 11'юп:р1юї тn мобі111,1юї оерсїі; 
зру•111с 11обудооа зnіті u у в111,1ялі r·paфi,:i n і таблrщ1,; 
фіншrсова мста. Про1 ·р,ша Jto11oм:11'ac стс1n1п11 І.Lілі рухnт11с11 до їх 
реал із::щїі; 
МОЖJІІІОЇСТІ, np11cnoc11ш1 )Іj)J ІІ І І( і ІІ І([ІТСІ ·оріJщ. 
Недолі 101 : 
11 
ЧДТУ .221 S 19.00S ПЗ 
відсутнісп, і1перфсі1су для у11равлі 1111я 1- іл 1,ком.1 кор11СТ)'О!\Чам11; 
убогість можл11tзосте11 бсзкоwтоuної осрсії . 
100 (\) 
........ 
Рнсунок 1.3 - Зовніш11і11 011r.r1яд веб-додатку 111ybL1dge1.,,,s 
І .2.4 Домашні фі11ш1с11 
Домашні фі1-1а11с11 - і 11теrтет-серnіс для uеде11 ш1 домашньої бухгалтерії. У 
с11сте~1і реалізоuа1111іі базова облікова і аналіп1чна функціональн ість: облік 
доходів і витрат, плавува1111я бюджету, розраху1ю1< заm1шкіо на рахунках. Вся 
:таліт11ч11а і11фор~1аuія І\t0жс бу-r 11 представлена у в11 п1яді табл1 1ш,, ді:~гр;~,-.1 і 
ЕхсеІ-фаііліn. Підтр1~мується в11ессн-ня опсрацііі по Sl\11S. Локаліз,щіл в11ко11а11а 
11а російськ11й українс1,1(11іі мовах . До с11стем11 дощ1сп,ся розшнре11а 
докуме11тація набір 11:~очал ьннх відеоурокіо. Сервіс 11ропо11ус оедс11ш1 
до111аш111,ої бухга;перії на комп'ютері , пла11шсті , телефоні •1срез са ііт, а та"ож 
через додато1< дл я А1нІ.-оіd. 
Перева r11 : 
ІІ ЗЯІJІІіСТІ, J)СЖІІ/\1)' ДЮІ робот11 декіЛІ,КОХ І(ОрІІL:'І ува•1111, З ~Іt)jІ(JІІІUістю 
11ала1J1туuа1111:1 різ1111х прав доступу; 
11 аяІЗІ1іст1, додат1<:1 Л11dгоіd і ~южл1шіст1, с11 11хронізанії щнmх :.i веб версісю; 
оедеІ ІІІЯ 0Gні 1:у по .пскіJІІ,І(ОХ J);}Х)'ІІКах: rотіu1,ові, К[ІJ)ТІІ , з,ЮЩ()J\ЖСІІІІІІ ; 
І\ІОЖЛІІ ОіС'Т І, ПІН)ІІ )' ІJ;}ІІІ ІІІ бюджету. 
Недол ію1 : 
12 
ЧДТУ.221819.008 ПЗ 
значні обмежс1111я фу1шuіо11nлу тn оідсут11ісп, ш11фруш111 11н траф і1,у н 
безкоштощ1ііі версії: 
оідсутня можл 11оіст1, ім11орту тn скс11орту дn1111х; 
1нн1011 і ст1, о і1перфеі1сі кор11стуоа•ш заст.-~рілої тех11ології Г- l nsl1 Plnycr, що 
оже не П ЇДТJ)ІІІІІ)'Є11,СЯ розроб11111(ОМІІ . 
М:),, ~мо,.,. ~ ~ Orrwтa ~ 
Q ~ ~ '" t t'-4,.,_... ·---· 
~ ,-т;,-.~~ ~ ~ ...-Ч"t ~ -, : ~,.. ~ ........., ~ ~ ecu,;.,-. ~...., 0:-, ,11 ,с;-& ~ -
D Т'6~ NOt.n 
&L rf('l(W't8_, ~ -, Wmzпsп 
.-.. :~~ ~ U "'CI",._ 
iL ~ ~"'c-r.. -29 437 ,6 0 '"" 0,00 ,,,, -20 689 І 20 "'" 
·29 4J1,60 ·20689.20 
- ~"~U'w:r 
,.~°"~''"~' -..- 8::rtt:rnm;rм:iil 
65,00 ,...,, оІ  оо ""' 65 оо •·~·• 
І 
6S,OO 6S,OO -
,..,_ 
1 МІІЯ 2019 м ~йttіі ·· , r1 -rt5jf,FJ 
1 ~,......,cra o:ta..x.JCІ 
0,00 ,,.,. 0,00 '""' 65,ОО '·"' 
Н- ЮІt Г.J м 6S,OO 
,. • • Ф .., m 
" 
• , а ,'. s 
,".  • • 10 11 1; 
,І).  ,І•,  11 .. ,.
" ,. 1,.1  " " ,"s  " ~ 1~201, . .....,.,. ... . ,~ 
11 D ІО 
lJ " • " 
r,,сунок 1.4 - Зооніш11ііі в11rлял nеб-додnп<у До~1аш11і фіна1-1с11 
1.2.5 Zenmoney.ru 
Дзе1н,1а11і - не без1Со1J1тов1111іі 011на іі11-ссрвіс, 1110 працює з 20 І О poi-y. 
Розроб1111ю1 стверджуют1,, ІJІО їх cepuic - це ю11р1111іі с1юсіб обліку і 11J111 11yo.1111111 
особ11ст 11х фіш11-1 сіо1>. Як і «Дребедс111, 1· і», «Дзс 11- ~н111 і » дозоою,с пш111ув.1111 
і11д11оідуал 1,н 11іі і сімей1111й бю/\жст. Кор11стувn• 1 і можуп, 11ерс1юс1п1 1 в 11рогр,шу 
да,1і з б~ш1<івськ11х сервісін, отр1sмуо:1п 1 :111:н1 і з в11трат і руху ко111тіu о де1<іл~.1юх 
оалютnх ( і наоіт1, о 1<p1tnтooamoтnx). Ст11п1ст11І(у ~юж1111 вест11 111< в додатку, тnк і 
11 а саііті. 
Псрспі'ІГІf: 
13 
ЧДТУ.22 1 8 19.008 П З 
реж11м упрuв11і1111я кіл1,"ома І<ОрІІСТ)' П:t'ІаІ\ІІІ; 
мобіл1,110 і ком11'10тер11а версія з с1111хро11із:щісю; 
у мобіл1,11ііі версії с фу111<ц ія роз11із1~nош11 1н Gа111<івс1,1шх сме. 1<01111 11а 
смартфон 11р11ход1tп, сме з 6а11 ку. 11ро 1 1ама аотомат11 •1110 з•11 1тус 
інформ::~цію 11ро 1 101<у 1жу і за1юс1п1, д;ші в rютрібttу 1<ате 1·орію - 11с 
потрібно в1111)::1 1 1nn1 •ше 11:1 ру1 111с вuсдс11ш1 і11формnції; 
баг::~то можJ111востеіt для а,,:~лізу фі11n11сів, с різні та6т1ні гр::1фі 1ш, 
11орівня~111я доході о і в1111)а1· за періошш11 . 
Недолі кн: 
буuають 11011111лк~ 1 з с11 11 хро11 ізаuісю да1111 х; 
не всім сподобаст1,ся мівімаліст11•11111й д11заіін без нрл 1 1ків для кr~тегорііі. 
Наличнь1е транзакции 1nu.v 
Q ,. 
І u.a, ,К ,сре • рtІ'СТОО8"°' -•~ • M,11JІ:,N1"'-'t P•t104 ~ S,. ~ U<:o" 
О , 1Н-t.."6 ,> 
e-к-n,tмur~ 
tlt0 11, . , 42))11:' 
):І ,,~ к.. ... ,
_,,, ... _«оJІ•. ....  • 1!,О • t1u.:.r..нь1• 
.t,.,,ф,е., •.  ...м «аоь- - ,,./.,..,.,. .. 
о_..-.,.,..• . , . ... ц .. .... , .... 
Р11су1ю" 1.5 - Зов11і11111ііі в11 гляд nеб-додатІСу zc11111011ey.,·l1 
ЧДТУ.22 1 S19 .008 11 3 
РОЗДІЛ 2 
ПОСТЛНОllІ(А ЗАДАЧІ. ТЕХІІІЧІІЕ ЗЛОДЛІІНЯ 
2.1 i\tcr.J n1 зt1од:н111n (Н)(іuп, 
Дане тсхні•тс заuд:зI11Iя пош11рюсться 1ш розробку nсб-оріс11тооn1юго 
додзтоку nедс1111я обліку сімеі11юї бухmлтсрії, нк11і1 11р11 з110•1с11 11 і1 ;1ля 0IлI,11ого 
0I1кор11стз1111я корІІСТ)' ВЗЧЗМІІ, які М3ЮТЬ доступ J\O мережі 111тср11ет. 
Метою робот11 с розробка веб-оріс 11тоош ю1·0 додnтку uедс111111 06J1іку 
сімсі111ої бухг.:~.лтеrії • nотомоп1зув:зп1 1 1аш і nовсякде1111і фі11а11сові розрахунк11. 
t-.·Іаі1же КОЖІІОГО дня МІІ 011трзчасмо грош і ІІ З різні ПОК)'ПІ(ІІ тз ГІОСJІ)'ГІ І. 
Веб-додаток ЛОЗООJІІІТЬ KOJ)IICl)'B3'1CBi вестн ЩОДСІ-І І➔ ІІК ОІ ІТJ),П і надходже11ь, 
розраховуоатн, як 001111 оnл~111уть 11а загальнні1 бюджет, n також :11-1алізуоат11, 
колн і через що було 0I1траче110 ч 11 отр11мано найбільшу кіл~,кісп, грошей . 
С11стема ДОЗВОJlІІТІ, оест11 облік 11е тількн ОІІКОІІШІІІХ фіШШСОВІІХ 
операціях, а й пл:нюо:т11х. Мн можемо бр.1т11 гро111і в борг, в11плачуоат11 
кред~пI I і т.л. nеб-додаток обліку домашт,ої бухгалтерії дозоол11ть 11ам вестн 
щоде11I111к боргіn і 011ллат по I11Iм , розрахооуоат11, скіл~,к11 грошей з:1л11ш11лося 
ВНПЛ3ТІІТІІ і лооідомлятн про м:~йбутні ВІІПЛЗТІІ . 
С11стсма поо11Iта бут11 ефею1t0ною, n пл:111і оброб1(11 щI1111х , n111<011::1I111я 
11рограм1111х фу11 1щій; пов11111 I n бут11 стійкою, тобто 011ко11ув:1т11 осі фу11"ції, ,11, і 
будут,, розробле11і, 11езалеж110 nід зоn11іш 11іх фз"торіо nбо ;1; рс:11·уn::1т11 11а з~1і 1111 
ІІІЛЯХОІ\І n 11кл11ку С ІІСТСМІІОЇ ПОМІІЛКІ І (моЖЛІІІЮ ГІОІ:азуніJТІІ 11:1 ЯІ\ОМ)' 1>1ісці 
станся збій). П ов111111 і бут11 стооре11 і діаногоо і 13ію1:1 дmI і11тс1юкт1101юго рсжнму 
робот11 З ІСОJ)ІІСТ)' І1і\ЧСІ>І. [311ко11а~шя ОІІМОГ срrо1ю~1і1;11 і11тсрфсйсу, СТІЮ))СІІІІЛ 
комфорп111х умов робот11 . 
2.2. І(ороп,11іі or111c та nр11зш1•1с1111я 
[3с6-JЮЩІ'ІОІ( ІІОІІІІІІСІІ ІІ3Л:JОrІТІІ достуI1 ТіJІІ, 1( 11 зn рссстрова III1r-.1 
корНСТ)'В.1'tа~,. Для nr11co11a111Iл цісї умоо11 11собхі11110 1111зII::1 1 11п1I кр11тсрії 
заода11шI. 
у 11 ронссі 11среI·юI1tу нсб-сМіту •tерсз бp::iy:icp , всб-;1щ111 ІtІІ( , 1ю3~1і111L·1111іі 11а 
оеб-ссрnері , бунс 11р:111ю11т 11 з щ111хід1111м11 щ111Iш11» і I1щIї111:111I I;орI1сту110•Iу 
15 
ЧJtTY.221819.00S І ІЗ 
. . . 
ПЛL>КІІ «ЮІЩСUІ дu11і». У пронссі ОТJ)ІІМ:1\ІІІЯ «кі І ІНСІ\ІІХ Jl(ІІІІІХ)) І\ІОЖ)'ТІ, токож 
ВІІІІІ\І\ІІ)їІІ «UІІІІЯТІЮВі СІІТ)'3Нії». Дnмо 6іл1,ш JtОКЛnдІІІІіі ОІІІІС. 
В11хіщ1і да11і: 
відомості про 11мхоnжс11 11я і онтроп , коштіо, міс11ях збсріr:1 111 111 . 
Кінuеоі дані: 
стат11ст111-з і бал:111с. 
І31111яткооі с 11туаuїі: 
отр:~т:I з'сд11:~11ня з мережею і11тср11ет; 
1зкі11чс11ня сесії щ1 сервері . в1111ілс 11 с r1icm1 011тор11з:щії І(Ор11стуо:1ча ; 
нтрзта з'сд І ІЗІІІІЯ з базою ЩІІІІ ІХ . 
І3сб-оріс~пооа~ 1 11іі дод:~ток мIст11111ме фу11"uію I1лrнIуоа11111I . І іудс 
IюлавапIс I, cтpyh'Т)' poo:i1111it зuіт у 011rмщі 11х1фік:1 :~бо р:1ді.1н 1, 1юї діа1 ·рам~1 . яi­
nopin11яImя так само зanлa11ouu11 11ii бюджет nom11IeII бут11 оідобрr~жс111111. 
Н еобхідно стnор11т11 базу даI11Iх для '3бсріп1 1111я I1р11 з 11 а 1 Iс11 11х шIн корI1стув.1•Iа 
Д3ІІІІХ та З3Х І ІСТІ1ТІt ЇЇ за дОПОМОГОІО 11:1роля IщрI 1с І ува• I :1. 
І31 1 очаюч11 11рограм11 оеде1111я домаш11 1.,ої бухгалтерії. наткнувся 1111 те, що 
IIсмас підходящої програ11111 . По ходу :111:~лізу іс 11уюч1 1х ri11aлorin стас зрозуІ\1іло, 
ЩО '1 I I3JІОГІІ ІІІЗІОТІ, ряд мі 11усіо і 11люсіо . І І аnр11 1:над, В ОДІ/ОМ)' ІІС ОІІСl,І'І:ІС 
сr,rо1юмі 111 юсті д11заіі11у, о іншому - фуша~іо11:1л1,11іст1, оідстuс оід а11:11югі11. 
ІІСДОСТЗТІІІ,О фу111<цііt , І ІС Т.1111 розт:1111011а11і l(lfOlll-II . І-І сзруч11ісп. .. j U бr~r:1т1,о:--
11роI ·рамах 11аст11 рл11оі I1ш11дув:1II11я IIро ·Iс, що 11отріб110 з:-.ол.1т IпII • nбо ·ш Iю1111у 
версію, або, щоб кор11стув.1тI Iся 11соб~ 1сжс1 111іі •I:1с . Мо6іл1.,11іст1., - ос1, те . що 
ШІІ<ТУС 11ам зараз 't:JC. 3 ПО'І')'ЖІІІЩ J)ОЗ ІІІІТІ(О1'1 І 11н:р11сту СТІІС !ІКТ)'ШІІ,II11 1' I 
II :11шс:.111IIя всіх додатків о н 1щсті І 11н:р11ст с11 іі· 1 і 11. 
2.3 Запн1~..ш1 хщ1:11,тср11~л11.а ~ ••~тc-'ltt 
2.3. 1 Сфера застосу11а11IIн 
С11стсмз буде 0IнсорI1стовун:11IIс I, 11 1ю6у11)11ому ж111тI 1юр1 1 сту111111і II JlJIH 
ІІС)lСІІІІИ обJ1і1су сімсіі11ої бухп1лrсрії. 
2.3.2 Фу1 11<ІJ.Їі СІІСТСМІІ 
13 рс'3ул~,тат і а ш1л із у ·1·а оброб1: 11 ,111:Iн111 і II J1a Ii oI·0 I 1 IюI·ром~ юI·0 з116сз 1 1c 1 I t:II 
16 
ЧДТУ.2218 1 9.008 ПЗ 
ня 11озн.1•111мо ряд 0111\юr, якніі 11оз 1ю11 11п, н11з 11.1•111т11 достатнііі ш1бір 11собхі111111х 
функцій. МІІ пр11іішл 11 ДО ЛОІ1ЧІІО І'О І\ІІСІІОВК)', ЩО 11ам буде J\ОСТ:ІТІІІ,О 
з3с1·осуоап, в да11ііі роботі. я~-а зачі11:1с розд іл дом::111111іх бухrалтсрііі. дсяю1іі 
набір функцііі. що ззбезпсчус потрібну фу11кuіо11ал~.11іст1, нрое~п-у : 
можл11вості аnторнзооо11оrо nходу: 
персдбачнт11 від11овідн11іі GUI (Гр(\фі•1н11іі і1псрфсіІс). С11роеkїуnат11 
зручну форму для ресстрзції/аотор11зації кopttCl)' ІJ:iчз. rссстr:шін 11с 
пош1н1~а бут11 важкою, в іншому 01111:щку кор11стушІ'1 може 
оідМОВІП1tСЯ від 0111-0J) II CT'JJI IIЯ даного ПГJОГJ)ЗМІІОГО продукту; 
збереження інформації в базі щ1111 1 х; Занесе1н1я всіх з~1і 11 
ма11інуля11і 11 о базу. Наііпош11ре11і ш1 1 й , просп1іі і 11адііі11 11й с 110сіб 
зберігзтн дан і і обробл ятн їх; 
І\ІОЖЛІІВОСТі реєстрації. Можтtвісп, створен11я ІІОВОГО облікового 
зап1 1су. Інакше створення нового кор11стувача стаоат11 дос1пь 
DЗЖКІІМ завда1111ям. 
створс11 11я ВЛЗСІ ІІ ІХ рахунків . І·Іапрнклад, готі вкові, р3Х)'Н01( В ба1щу, 
еле1-..·т1ю111111іі рахунок та т.п. В казуоа1тя p:1xy11i-io роб11т1, зруч1ш~ 1 
перегляд джерел в11трат і доходів ; 
створе1111я статеіі n11трат. Уnор11дкува1111я з:-. rрупам11 в1пр:~т. Од11:1 з 
основ1 111х операцііі , за резул ~.татами якої буде сп1п1сп11,n та графію1. 
стnоре1111я статеіі niiтpaт. Сортуса1111я за rру11ам11 доходів 11с ме11111 
oaжmina 011с1к111ія , 11 і~ІС стооре1111я с-гатеіі в11тр,п ; 
c·rnopc1111я статсіІ 11р116ут1,у. І3казуuа1111я 1<іJ11,1юсті в111 ра •1 с1111х i-0 11пiu, і 
•1зсу. T:-ti-Oil( т,азуnа 111ш оалют11 , п якііі 11роnедс11а да11а 011сра ціи; 
переказ кошті в між рnху111,ам11 . І\•І а 11іпул1111ії з рнху111ц1t\1 11 . Пр11 
перс11ссс1111і 1:оштіn з ощюго рахунку 11а і1111111іі абn 11р11 1ю~ 111 J 1~-0 1юму 
1311сдс 1 111і cyr-111 11собхі;1110 змі11ю11от11 бпла 11с 11а раху111;у. 
розрах)' ІІОІ( ~срсд11ту . І ІІС'ГJ))'МСІІТІІ П JІ RІІ )' ІІ:ІІІІІ!І j 11і 11р:1ху 111;у ІІЇДСОТІ(іІІ . 
Л ОТОІ\І:1'1'1 1 '1~ 1 СІІІЮІІІ)' (' 1Cop11cтynai 111 11 та З~ ІС ІІІІІ)'С 1 1: н.: ІІІІ~') L~І \ 1111 
17 
ЧДТУ.22 1 8 1 9.ООS 113 
і~~форм:щії. Іl ро1·1юзув:11111я до11юляс с11ла11ущ1п 1 , 1 н111р11 ю11щ, 11оку11ю1 
11осту 1·11юrо мі сяця; 
І\южл11оість l:ксnорту/Ім 1юрту і11форм1щії. Можл~111іст1, збсрі 1·n11 11я 
бnзн Д3ІІ ІІХ 110 МІ'ІШ ІІІІІ ІОМ)' І ІОСЇі та МОЖЛІІІJЇСТІ, розJІруку11ап1. Дуже 
ОСЛ ІІЮІІ\І llJ\IOCOI\I буде д:1111'1 І\ІОЖJІІІІІЇ СП,. 
Ге11срація зоітіо: 
11,:~фіІіІІ. КіJІІ,КО UІІДЇІJ ,·рафіків для ЗР)"ІІ ІОСТі 111:рСІ'JІНJІ)'; 
радіал~, 11а дiarpnмn. Іlсрс1·лял 111прnт/1щхоліо u •шсткnх колn; 
баланс. Знслс1111я дебету з крсдІІТ()М. 
11:н111са1111я докумснтnції 110 роботі з 1 юртююм. По сут і , 1<сріо~11щпю 
кор1 1стува•1:1, що с11рощус 01 1 uчс11т1 11рограм1юго зnбез 1 1с•1 с111111. Пр11 
О ІІ ІІ ІІ КІІС І ІІІі ІІІІТ:1111, 1юр11сту11а• 1 І\ЮЖС зоср11ут11с11 до ДОК)'І\ІСІІТ:\ L!Їі; 
мож111101ст1, розш11рс11ш1 веб-доJІатку . ~1І ож11 11 оісп, 11ерсробю1, 
доробк11, ДОІІООІІ СІІІІЯ фу 111,ці о1 1а11 1,1 юсті j д11зfІі.і11у. 
Від11овід110 до 1311клnде11ого о~ 1 щс, всб-додіІТОІ\ роз611п1іі 11:1 десят1, uеб­
сторі11ок. КОіІОІ:1 З ЯІ(ІІХ ІІССС СООІО і11форма11ію j r1р1 1 з11а• 1е11:1 ДJISJ ВІІКОІІ:11111)1 
І ІСОІ ІІtХ опсрnцій. Це т:ш само ЛОЗІЮЛІІС )'ІІІ І ІО І )'ТІ І відображс1111я заіівої 
і11формзції на сторі11ці і роб1п1, сторі1шу макс11мш 1 1, 1 ю зр)''ІІІОІО і 11ростою у 
1111/COJ)I ІСТ.11 111 і. 
).І,,ІJІ офорМJІСІІІJЯ веб-додатку U (.'ДІ І І юму СТІІJІ І , створс11:1 СІІСЦНІJІІ,І ІВ 
табл~1ш1 ст11л і в, яю1 011кор11стооусп,ся 11n 1,ож11ііі веб-сторі1щі . У табJJІщі ст1ІJІів 
0 1111са 11і ІІJІЗСТІНЮСТі ДJІЯ різ1111х груп 11с6-СJІСМСІ ІТЇІІ . Це в СІІОІО •tсргу ДОЗUОJІІІС 
1111з11:1 1 1:п11 і зм і11 ю11ат11 параметр11 11і 1юї 1·ру1111 всб-слсr.1с 11ті11 вілразу 11:1 всіх 
сторі 111,nx. 
Дт1 II OJICГIJJCl tllil І(ОJ)ІІС'J')'ВІІ 1 ІНМ ро60111 з всб-дОДІІТІ(ОІ\І усі КІІО І ІІ(І І і ІІ ОJІ)І 
)ІJНІ ІJНСJtСІІІІН '3Щt•ІС ІІІ, по11111111і І\ІlІ'І'ІІ 1 1іщщз1<11, ІІІ<і 11і;106р1ІЖ!ІІОТ1,СН ІІJ) І І ІІ І1ВlЩС І ІІІЇ 
1сурсору 111 11 111і 11n відпо11ід1111Іі всб-ст:111с11т. 
При усr1інтііі аrнор11зації 1сор1 1 с·1 у1111•1 бу;1с 11 срс11сдс1 111іі 1111 1·0Jю1111у 
сторі 111<у 11сб-додо·r1су. 
18 
-' 
ЧJtTY .22 1819.00R ПЗ 
2 Якщо :штор11з:щія 11с 11poil111л ri (бул11 в11слс11і 11 с11і р 11і 110 1 ·і11 nбо 11щю11 1,), 
кор11стувr~чсві буле вIIлr~11с I1011срсджс11 I Iя: « 1311 I шс,II1 11свір1111іі 1югі1 1 
або 11арол I,)). П ісля цього поля 11ослсIII Iя будут,, 0 1111щс 11 і, n корIIстуоа• 1 
зможе 11роіІт11 аотор11 з:щію I10uтор110. 
3 Якщо ОдІІС з ІІОЛЇU ІІС було З:ІІІОВІІСІІС, то корIIс1 )' 111:1 11 'ГІ)І( само отрIщас 
I1011срсджсI111я: « Вnсдіп, логі11 і 11:ipom,» і зможе 11роііп1 r~11тор11 :ш11ію 
ПОВТОJ)ІІО. 
Для ТОГО щоб 11р о ііт11 :~отор 11за11ію, кop11cтyurt 'I І ІООІ ІІІ С ІІ ВВССТІІ с вііі ,югі ,1 і 
11аро111, у оід110від11і поля і 11а111сI IуI I I кноп ку «Охід)), 11ісю1 •101·0 буде зr~ліл1111іі 
ІІJ)ОЦСС аотор1 1за ції, 011ІtС3ІІІІіі ВІІІІІС. 
2.3.3 Д;1,срсло 1101I:\ТКОВ ІІ Х Д3 ІІІІХ 
Д:111і IIJ)O КОJ) ІІС1)'03 ' І Ї О: 
для ооедсIшл д:~1111х про у11і1шл1,1111іt ідс11т11фі1<:~тор кор11стуо:1' I а 
ІJІІКОJ)ІІ СТОО)'ІО ТІІІ І ДJІІІІХ i11tcgc1·; 
ДЮІ UНСДСІ І ІІ}І Д3ІІІ ІХ ІІJ)О ім'я 1<ор 11 стув:1• I а ІJІІІ(ОІНІСТОВ)'ІО ТІІП дa11II:-­
cl1::1r::1c1cr va1-yi11g з 30 снм ооліu; 
для ОUСДСІІІІЯ Д3 ІІІІХ про прізrщщс кopI Icтyort•ta ІJІІІ(ОJ)ІІСТОО)'Ю ТІІІl 
да1111х cl1 :н·:ictc1· \1ai·yi11~ з 30 с1шооліо; 
JVI Я ІІІІСJlСІ ІІІЯ )1.3ІІІ ІХ про СЛСІ(ТJЮІІІІ )' :здрссу І(Ор11с1у11:1 1 Iа ІJІІІ(ОІ)ІІ СТОО)'ІО 
ПІП ЮІІІІІХ clia,·:.ictc,· \' :ІІ") ' ЇН~ :i 50 СІШ ООJІ ів ; 
для ІJІJСДСІІ ІІЯ ЩІІІІІХ про 11.І JЮЛІ, І<ОJ)ІІС1")' 0Н 'І<і ВІJІ(()J)ІІС10ІІ)' Н1 ·11111 ЩІ ІІІІХ 
c l111r::ictcr· \111гуі 11g з 32 с,~моол ів; 
Дз11і ll JIO рахуІІІ(І І l(QJ)IICl)'Ba•,iв: 
Л.ЮІ вnсдс11II:I /l:1IІІІХ ІІJ)О у11і І(:tJІІ, ІІ І І іі і)lСІІТ ІІфікатор р:1ху11ку 
011кор11стовую ·, 1111 д:tI 11 Iх і111сцс1
. .·;  
- ДЛJІ ІШСДСІІІІJІ J tа ІІІІХ нро ІМ }І p:txy111,y ІІІІ І(Ор ІІСТОІІ)'ІО ТІІІІ )lІІІ ІІІХ 
сІнн·асtсг \'11ryi11g 1 І ОО с1,~ 1 11ол і11 ; 
ДШІ ІІВСДСІІІІ)І Д.ІІІІІХ II ро ТІ ІІІ рахуI 11<у О ІІ КОJ)ІІС'J'ОІІ)'Ю ТІІІ І )11111 11;>; s111 11І Іі 11\; 
ДJІ JІ ІНJС/lС ІІІ Ш )ІШІІ ІХ 11ро ІІШІІОТ)' рахунку I11 I1-орIIстовую '11111 Jl:tl lllX 
sr11alli111; 
ЧJtTY.221~19 .00~ 111 
ДJНІ ПВСДСІІІІJІ /ІП ІІІІХ 11ро бмn11с p:ixy 111,;y fllft,;(1p11cн111yю 11111 J\:IIIII X 
і11ІС!!СГ: 
дJ1Я овсдс1111 я 11011 11х 11ро у11ікnл м11t іі ілс1111tфікnтор 11лос1111кn рnхуІІ '-)' 
ВІІt,;0рІІСТОU)10 ТІІП llOl lltX i11tcgcr; 
Да11і 11 ро в:~люnt pnxy111,; io: 
- лля оnслс1111я щ1111tх 11ро у11і1,;ол1,1111іІ ідс1п11фі1,;ап1р 1111111<1111 
011.,-ор11стовую n111 дn1111х i111cgcr: 
,1ЛЯ ІJВСДСІІІІЯ Jl31ІIIX 111)() ІНІЗІІ)' ІJ:1ЛІО1'11 n11кор11сто11ую Т\11 1 да1111х 
ck11-:ic1cr ,·а1)• і1ч; з 50 с11м11олін; 
Д:.111і 11ро ТІІІlІІ рзху111-і11 : 
для ІІІ}СJ)СІІШІ Jl3IIIIX про )'11 і 1"1JІІ,ІІІІіі ЇJtСІІТІІфі ІШ1 ор ТІІІІ)' рІІХ)'І 11()' 
1111кор11стовую п 111 д:~1111х i111cgc1·; 
для ІЩСДСІІІІЯ /ІаІ ІІІХ llf)O 11:1311)' 11111а 11111.ор11стовую '1'1111 ЩІІ ІІІХ сІ1а111с1с1· 
\'Зl')'ing з 30 с11м вол і n; 
Д:т і 11ро 011ера1tії рзху11кіо : 
ДЛЯ ННСДСІІІІЯ Д:1111/Х IIJ)O у11і калr.111 1 іі iJtCll1 11фі1,;nтор 011срації 
11111сор11стовую т1111 д111111х i111ege1·; 
ДЛЯ JJIICДCl/1/JI ДUІІ ІІХ IIJ)O 1111 1 011ср1111її НІІКОf)ІІСТОІІ)'JО ·11111 да1111х s111alli111 
ДЛ:І IJIICJ{!:JIIIJI ДtІІІІІ Х 11pn 1111х ію111іі J):ІХ)' ІІ(Ж ІІІІІЮрІІС'ІОВ)'Ю ТІІІІ ДН І ІІІХ 
i11ICHCJ"• с  
}VHI ВІІІ.:ДСІІШІ )ЩІІІІХ IIJ)O суму ІІШііJІІ/111 '() раху111;у ІІІІІ\()р ІІ СТОІІ)'ІО ТІІІІ 
1i:11111x i111cger; 
JJJIJJ 1/IICJJCIIJIJI JIIJ IIII X 11pt1 J)іІХ)'ІІ(Ж 11р1п1111•1с111111 1/ІІІ(UJ)ІІСІОІІ)'ІО 11111 
;1;11111х i111cgc1·; 
Jl)НI 1/IICJICI/J/JI JНШІІХ JIJIO суму J)II X)'III()' IIJ)ll 'lllll'K'IIIIJI 11\IICOJ)IIC П>ІІ)'ІО '1'1111 
)ІсІІІІІХ i11tcgc1·; 
- )ІЮІ JШ!:J ІCIIIIJJ JНІ ІІІІХ JJpn ОІІІІ С ОІІІІj)ІІІІЇЇ IІll/(Oj111L'H1ll)'IO '1'1 111 JlІІІІІІХ 
сІни-:1с1с1· va1·yi11g ·1 200 с11м1юJ1і11 ; 
)ІJІJІ liJ\CJ(CJJIHI Jt(Іll ltX IIJ)U )111'1)' 011срн11ії JІІІІ(ІІрІІl' ІІІІІ)'Н1 ·11111 J(ІІІ ІІІХ (IІttc; 
/ t;111i 11ро ·1111111 ТІНІІІ OJJCpiщili: 
20 
Ч}tТУ.22 І 8 І 9.00R І І З 
ДЛІІ І)ОСЛСІІІІЯ лn1111х ІІро у11і1-І\ЛІ, ІІІ ІІі іле 11 111фі~-nн1р ТІІІІУ 011ерn11ії 
в11кор11стоnую 11111 .1:11111х intcger; 
дл я 1111СДСІІІІЯ ІНJІІІІХ 1чю ІНІЗІJ)' 11111)' ПІt І-Ор11с 1 овую Т ІІІ І }tl\llllX c/1:iraclcr 
,·::iryi11~ з 30 с11мооліn: 
Схему G:11 11 дnI111х п роекту зобrзжс110 11:1 р11су 111,у 2. 1. 
- n,,wc1.,.., - .,,.,.,,., - ...,,. 
-"'"'<9<" 14"1"9"' - " "09" 
І) or \І"'8 IW\I( n~ CNilaclff v~ tOO) Lf1&t~.,,.., tNtact~ \lty~IO) 
._...._ - l)r< ........ а..,ш~ c,.,,.кt~f \', ,._~t30J 
-~°"' ""'V" - C.,,ffq' .,.,.~ .,,... C""'t Cl<f • •fYV'OI~) 
t-4 ..,,_ ~""'9f< P'""''Od U\IIІC\tt ,t ry,i,g{)1J 
v,o.,G1o .,.~ r,... 
- СNІ.ІС_,. •at\""V7.IO) --
4'1~ d.lte .-,_C U'Тt~t 
..... - ....,.,. ...~ ~) 
- ...,,_1~ 
.... .,..._ 
... .tCCOUM f)'Ptl 
,,.,.,. {N/~ ,,.,.,"'9(30) - .. _ 
n- о,а,ю,, ' " "'"'91301 
Р11су1юк 2.1 - Схема бr1 ·11 1 да1111х 11rnci,.-1·y 
2.3 .4 Рс'іуJ 11,т::~п1 , ш1х ід11і JІ:t ІІі 
КорJІСl)'П:1 1 1 З3ХОJ1ІІТІ, 11 вeu-:tQJl :t І (Ж 110 11е111юму ІІОСІІJ ІІІ І ІІІІ() та 
антор11 °Jуст1,ся II с 11стем j . Для О'І р11ма 111111 іІ /\'І )'аІІ 1,1 ІІ> ГО СТІІІІ )' 110 J)ІІХ )' ІІ ках. 
1юхолах та 111прnтзх , 1rnp11cтy11n•1c11i 11m рі6110 11ер~іі111 1111 1·01ю1111у сторі 111,у 11c6-
JtQJJa·11,a. Дня 11срсг11я 11у і111І юрм:-111ії, філ1;1ру11а111111 1а у11ра11ні111111 р11ху111,1ш1 1 . 
)(Ор11сту11.1 1 1сnі 110·1р ібно 11срсІі 111 на с I орІІІІ()' раху11кіu. ) l1111 11t•pc1, 111JtY 
і11форма~tїі, фі111,труоа 111 111 ·,n у11ра1111і111111 011сра11і11м 11 , 1юр111:ту 11n 1 1с11і 1ю1рі(і1ю 
11срсІіт11 на сторінку траІІ'НІІ( І JЇЇ. Лм, с1Сс1111р 1у 111 ім1юрту ю11111х 1юр11с 1 у 1 111• 1 1 1 , 
1юр11стуmІ'1сні no1 рібно 11срсІі ·111 11а с 1opi11 1ry c1;l·11op Iу  111 
імпорту дш 111х нсб-дот11 "У· 
Яюно ІІЇJt ,,ас уnраш1і111ш р11ху111 :;ш11 'ІІІ ОІІl'j>І ІІІЇШ,1 11 , 1-ОJ>ІІС'І')' ІНІ'І 
21 
ЧJtTY .22 1S  19.008 І ІЗ 
вI I 1,ор11стпс не 1,;орекп1і лn11і. то ~;орІІ СТ)' ІІ.1'1 буде 11ро не 110оі,1омлс 1111іі . Якщо 11іл 
чnс ЇІ\І ІlОJ)Т)' збо C!,C(lOpl')' д:1 IІІІХ i;opttCТ)'OЗ' l:1 1111II11"1ІС ІІОМ ІІ JІІ-3. то корIIСТ)'ОП 'І 
буде про це 11оn ідомле1111іt . 
2.4 В 11 моп1 до 0G•111 c.ri10n:1 .r11, 1ю1·0 ссрсдо01111щ 
2.4.1 Склз.д тз ко11фі1·урзція з11зрзn 1 I Iх ззсобіn 
f\·І і11і мал 1,11 а ко11фі1·ур::щ і я : 
п111 11роuесорз: реп\ішн і в11щс; 
об'см 011ерзпш11ої I1зм · яті: 512 ~16 і біл1,шс. 
Ре~,;омс11довз1 1::~ ко11фі1·урзuія : 
n,п процесора: іпtе І 14300; 
об'см операп1n110ї пам 'яті: І Гб . 
Об'см пам"яті ПЗП на cepncpi ззлс;юIтI, оід об'сму і11формаuії, ,rка ~южс 
збільшувзт11сь та зменшувап,сь. 
2.4.2 Програм11і засоб 1 1 
Снстемз встаtювтосться на хмар11ому сервері. В11моп1 до програм11IIх 
ззсобів хосrI111гу: 
- nідтрнм~,;а r os1greSQL І І .2; 
r1ідтр11м~-а NodeJS 10. 15.3 I~TS. 
2.4.3 Ре;1шм роботн 
rозробл юо:111:~ с11стс~Iа техні•1110 буде пр:~шоu:пн в 1юс1ііі110~1у рсж1щі. 
Програмно снстема м,пI1ме І рсжIIм II роботн: 
1<ор 11стуnаI11,ю I іі доступ ДО 11oд:ion11 I 11I , II срсI,11щу, ІІОІІІ)'І-)', 
фі111,трут11,ш1 , Cl'CIIOJ)T)', ім11орту Щ1ІІ ІІ Х . 
2.5 З11 's1 з 111: i:i J(НІ ІІЇІІІІІЇМ ССfІСLІО ІІ ІІІІІ І:М 
2.5. І Фпр~ІіП 11 і 11pm п1.ол II обміну /ІJHJ вхі11111 1 х ш11IIIх 
Вхію1:1 і11с\юрма11і11 ІІОJJ ЇІВІСТІ,СЯ ІНІ мnс1111 . Кожс11 СJІСМСІІТ і11с\юр~1 11 11ііі110, ·о 
мас11оу 13ХОЛІІ1 І, 11 СІЮС ІІОJІ ~ ба1 11 JtuІІІІХ. ТаІОІМ 'І І ІІІОМ і ~ І ' н рнху11~;у 6у11с 
ПІЮСІІ'ГІІСІ, JJ 11011(:, 1Iр111II:с 1 I С ІІ(.' JЩ ІІ ІІ:ІЇІМСІІу11n11ш1 pnxy111, i11. Т,1()·10 }(1111 J;l))J(Jl\)f 'O 
і1н\юр~tаt1ііі110 1 ·0 Cllt'~J~ll'f)' С СВОІІ 11рII 1 1нI•Iс11:~ комір1:n II Gюі Jlilllll.'i t' ll l' l't'MII . 
22 
Ч}1ТУ.22ІRІ9.ООR 113 
Я..:1110 ІІJ)ІІ ІJІІСССІІІІЇ 11хі111111х l\:1II\IX буде ІІІІЯІІЛСІЮ, 1110 1:11-:n Ж сама 
і11фс,рмація в б:~зі 11:1н I1х ожс іс 11ус. то л:~ 11 і II базу 11nII11x IIс буJІ)'Т І, зш111с:111і . І tc 
зумомено тI~м. що б:~за д:1II11 х ~1 :1111мс y11i1-::v11,11i 1101111 для 1ого. 11 і0б ІІС 
11:11-:0111РIувал:1с1, од11з і1 т:~ ж с:1~1;1 і11фор~ш11ія. щоб IIс ст11орюIIа111Iс1, дубні~;а111 
т:1I1с з:1і1м:п11 11:1м'ять ПЗП . 
2.5.~ Формат11 і Щ)ОТОІ-:ОЛ ІІ МА 011хі1111 11х Д:JІІІІХ 
l311xi1111:1 і11форма11ія бу11с 11 редст:11V1сIш 11 111 1 гщщі «11аіімс11ува11111I 1101111 = 
д:1111 11011я». Тобто 1-:ож 1111і1 11111 і 1 11\юр~1;111ії буде I1рслс·п1111 IсIIа 1,ор11 стуuа•Iу 
і11форм:111іі111 11 м11 бло1-:з м11 . Пр11кжщ 11ідо6р,ажс111111 I11111сдс I ІО 111:1Gн1щі 2.1. 
Тnбл 111111 2.1 
П11111,;:~:111 11i.10Gpa;i:c 111111 і11фор~1:111ії 1,ор11сту11а•Iу 
Ім ' я T tt n Г,:vн111с Вш1юта 
Гамз11сц1, Готів.::~ 1000 UЛ ІІ 
2.5.3 Формзn1 r.1 Іl()ЗВІІЛ:І з~1і1 11 1 1-:СJ))'ІО'ІІІХ 11щк1мстріо 
Досту11 110 змі1111 і11формз11ії мз11I~1)'Тt, ззрссс1ро11а11і i;op11C1)'1Ja•1i с I1 стс~ I II. 
51 1-:1110 llf)II рссстр::щії ІІО ІJОГО 1-:0f)lll-Т)'ІJ;J•Іa буле ІІІІІІВJІСІІО СІ І Сl СМОІО, що 
Jl;\lli ІІОІПОJ)ЮЮТІ,СЯ З ittUJ I IМ ІІОJІСМ (n<io ІЮІІНМІІ) 1~16т111і Ga·111 JІ:ІІІ ІІ Х , то з~1і1111 І ІС 
<іуду1· 1, 11р11 і1ш~ті. 
В с11стсм і буде ДО(.'Т)'ІІІІО змі1111111 J(;J І ІІ T \Jll,1(I1 ·111 :-. 1ю11ів JІ:1ІІІІХ, JІКІ н;~;с 
і с 11 ую11 •. 
2.6 Дщсумс11т1111і11 СІІСТСМ ІІ 
2.6. 1 Перелік та 1111моп I 110 0IIII су і111.: 1ру 1;11ії ~:I111IIс·I у 1111•н1 
l'O"J JIOбJІIO IJ(JІH'I с 11стсма ІЮІІІІІІІІа МіІІ 11 І ІІІС 1\НІІІ )' «Карту СІІСТС~ІІІ)) • 11 срсні~; 
всіх с1;11I1• I 11IIх ІІОСІІІІІJІ ІІ , СІІСТСМІІ . Елс.,1,·111 11 СІІС1С~ІІІ (~-ІІОІІІОІ, ІlОСІІJІR І ІШІ, І ЮJІ)І 
ІІІІt:}ІСІ І І І Н ]Jolll llX, ТОЩО) ПОUІІ І III і M;Jl І І ІІЇJІІ(,1111 Іі()І)ІІС І )'llrl 1I)' . 
П11~ІОГІt до 0II I Iсу rюсіб1111ка кері1111111-а ,11сн:мII: 
nrII1C ОС І ІОІІJІІ І Х 11іко1 1 С І ІСlt:МІІ; 
()ІІІ І С ІІОІІі ІІ 0111:J\еІІІІJІ }ІІІІІІІХ; 
OJIIIC І(ІІОІІОІ( сIIст~:мrI; 
ПІІІІС ІJОСІ І ІІаІІ І, СІІС'Іt:МІІ; 
-• -
ЧДТУ.22I8I9.008 I13 
і 11формзція I1ро розроб1111к:1 сIIстсм 11 ; 
ПрІІЗІІ:ІЧС ІІ ІІЯ СІ\Сl'СМІІ; 
ОПІІС фу11кцjjj СІІСТСМІІ. 
2.6.2 І3 11 мо111 до оформлс1т11 1111;,;ідІІ ІІ .'і ~;одіо 
Прогрзм~111іі 011хід1 111іі КОД СІІСТСМ ІІ ІІ ОІІІІІІСІІ ~J:11II І\О~ІСІІТТІ))і, які ОІІІІС)' 
ють nр11з11:1че1111я функuііі Т:І змі 111111х. Розr:1111ув:1 111111 ко~Iс11r.1ря 1 юn~111Iю бут11 
звrрху збо зліо:1 оіл 11:1іімс11у 11:11111я фу11к11ії збо з~1і111юї с11стб11I. 
Модулі СІІСТСМІІ ПОUІІІІІІі ~ІЗТІІ вuсрху дОК)'МС ІІ Т-:I ІІ ЗСТ)' ІlІІІІіі псрс11і к Д:ІІІІІХ 
ІJ uнrняді КОМt'ІІ1-:І))іU : 
11:~іімс11увз1111я с11стсм11; 
розроб1111к; 
КQJ)ОТКІІіі OllllC I1р11з11:1•Iс1111н модуля СІ ІСТСМІІ. 
В11хід1111іі код ІlОВІІІІСІІ бут11 оформлс1111іі З:І r111моI·:1м11 КОІІСТр)'ІОІJЗ ІІІІЯ 
проrрзмIю,·о забсзпсчс1111я: 
ім'и фу11кuії ПООІІІІІІО ІІОJІСІІІООЗТІІ свою суть; 
. ' . .. 
ІМ Я З~І ІІІ ІІОІ ІІОВІІІІІІО ПОЯСІІІООЗТІІ СВОЮ С),"І,; 
алгор11тм11 молуліо noo1111III бут11 стру1,1-ур11зовш1і (т:16уJІ)щЇі, 
nepe11cccI11111 нз 1юв11іі ря1юк). 
2.6.3 І311~ІОГІІ 110 ОПІІС)' структур11 і фор~ШТІІ ДЗІІ ІІ ), 
На стзn і ро:~робю 1 с11сн•ма 110 11111111:1 мз 1-.1 фор~1:1m,11і ~ІОJІСJ1I ,Iцн ·о 
ІСІІ)'ІJ.І ІІНЯ : 
DП) діагра.\Іn 1юто~-і11 д:1IIII х (р11су,ю1-. 2.2). Нощ1 II0,:юус 
cтpy1rryp111 1 ii :111з11із СІІСТСМІІ, 0/lllC)'C зо1111і11111і ІЮ 11і1 11н1І ІІСІІІІІ(І )\0 
СІІСТСМІІ Дл,І.'рет1 л:I111Iх, JІО І'і•111і фу11кції, 110·10101 та СХОІlІІІІ(ІІ ЩІІІ ІІ Х )\О 
ЯЮІХ С /ІОС1)' ІІ; 
ді :н·рамn 11аріа11 ·1 і в 11111:орI н.: 1аIIюI (р1 1с уIюІС 2.3); 
11)1:Г-О - щ.:· I ()J (ОJІІІІ 'ін фу1 11: 11іо11nJІІ,ІІОІ'О МО)І\.')ІІОІІЗІ НІІІ 
ІЮТ,11 111I , ІІ()ІІ"!ІІ;І'Н.:ІІа ІІ.111I форм1111ізnнії 
ЧДТУ.2218 1 9.008 ІІ З 
Вілмі 111юю особл1шістю ІDЕ І70 с їі nкнс 1п 11а 11 ію1щ111д~;ов1111іст1, 
об'с~-тіu. Мою:д1, IDEl70 с11 с1·см11 зображс11а 110 р11су 111<у 2.'І; 
- діаrра~ш лском 11оз1щії - снстсм~, роз61111аст1,ся 11а 11 ідс11стс~111 і "ож11 11 
11ідС ІІ СТСМ (1 ОП ІІС)'СТІ ,СН окрс~ю. Ді111 1,nм11 JІС ІЮМІІОJ ІІІІЇі СІІСТС~11 1 
1ображс11а ш, р11 су11ку 2.5. 
Розхід кор11стувача 
Інформаціа про рахунок 
, Оброб~а в1праnt , з Рахущ11 
кор11стувзча 
Інформація про розхід 
2 В1праn1 кор11стувзча 
Інформація nророзхід ~ор11стуеача 
Інфор1.1ація niю розхщ кор~tстувача 
2 Рух по зал11шкам на рахунhу 
Перерахунок , 1іор11стувача 
залишку на рахунhу 
25 
-- -
ЧДТУ .221 ~ 19.()t)~ 113 
Вщ1аnе11,1й 
f P3H)IJ;Цi1\ 
Р11су11ок 2.3 - Ді1111,а~tа 11арі а11ті11 1111кор11ст;-~1 11m 
Доr.01111 r.op11cтyecNa . 
Перерщно( JаЛІІш~-v на t-_Ахr;.....;.а_л_ьн_1,_11 _ст_а:н. .р:..а:..х:у.1.1..:~ук_.о.::_р11~сту.:...в:.:а....;ча:._ 
В111рап1 r.ор11сr;вача ра,унку 1:op11cr;e.Na ► 
. 
Сервер БаJа даНІІХ 
f'щ:у11111: 2.,1 M111tcm, І 1)1.:Н) 
ЧJlTY.221 8 1 9.00R ll3 
t .-:1• ,-.c и~• 
@,,rWt_. •ОС:Н:Т)'S ...... _ C'C(IU)•~,. ,,.,,., 1-
' 
'--, ~ ..... ,., ._ 
1 
А.'•.,. __ "' )Jд!U.1(\11> 
l'\t~p,8. .... f"() ""'0,H'(fl l f 
'-І ► 
J~flt4~''f " ' ~l)'"W'J 
) 
с,_ Ь.U., АА ..... , 
1'1 1су1 нж 2.5 - ДіІІІ'ІХІМn ДІ: І(ОМ ІІОЗ ІІІ(Їі 
2.7 S"f t~Їn'І, СІІ СТСМ ІІ 
2.7. І О 1 1 КО ІІ;)ІІІНІ СТОІІД3ртін 'ПІ )"ІІ'ОЛ;кс 11 1 111 
І Іа с-111орс1 1 1 1 я тn 11 111,011n111111 бущ1 узгоджс 11 0 сп111J1ар1 ЛЕСТ J4 . ДЕСТ 34 -
·1 сх11і 1111с :І;:ІІІJКІ ІІ ІІЯ 11а стuорс11 1111 :J І І'І О~ І(\J'І І10Оа 11ої СІІСТІ:~1 11. 11 1(.І рсгm1мс 11тус:: 
Clp)'!iT)'f))' тсх 11 і • ІЩ) І 'О за 1111а 11 1111 113 С'І'f\О()С ІІІІJ І самс СІ t СТСМІІ , 11 111()' І\ХОДІІТІ,: 
11ршрn~1 1 1 с забс111с• 1с11 11я : 
аг1nрап 1с ·1абс:111с•1с1111я; 
ЛЮJІІ І, ІІ І(і 1 1р:щюю1 І, 'j 1 1рогrам11 11м 1t1()C'Jfic•1c111111 ~1 'ПІ С ІІ С'І С~І\НО; 
3 1\ТОМіІТІІЗОІІіІІІі f l f)OІ lCCII СІ ІС'І СМ ІІ . 
І І о 11116ра 11ому стn1 1дарту, J1 ю111 1, 1110 11р,щ1uют 1. , 11 рtн1)1ш1 1 1 1м 
1.~б1:·н 1 І.' 'І С ІІ ІІІІ~І - ІІ С 1111 ро611 1 1І(ІІ тn су1 1 ровію11 11,11 Cll l"l'C~I II , J Іюю1, ІІ І( і 1 1 р1ЩЮІОТІ, :І 
с11 с·1 1•~10ю - 111: 1сор11сту11а•1 1. 
2.7.2 M u;1m1111ic·11. 1 1 ср..:11ссс1111 11 
}l:111 y С І І СТС ht)' мо;1он1 ро,роб1111 111 га ·зfісріп1111 ІІІ( ІІ\І І(:JІІІ,І Н1 , l ;tl( j [І мережі 
1 11'1\'!'ІІ СТ. Дм1 110 111 1 011 і 1 1 1юї робпт,, С І ІСТСМІІ їі 111)1 р і 6110 ро·1м і1ІІ.)' ІШІ'І І 11 ~,cpc)i;i 
І 1 п ср 11с 1 . 
}l11:i 1 (1/0 що(і 11срс11сст11 С І ІСТСМ)' '.! 11срсо 1 1щ1 1 . 11 . 11 1) І(\Щ ІІІ(УІС І)ІІ l lfl хост11 1 11· 
~ІОЖІІ/1 ІНІІС< 1f1 ІІ( І'ІJІІУН!І'І 11 зa(k··1 1 1 i: • 1 c· 1 111J 1 Я 1шю 
27 
---
ЧДТУ.22\SІ9.008 ПЗ 
ІJIIK0p11Cl'QO)'IJ:1ТI\ с11стсму Gitlab. то можна СКОJ)ІІСТ3ТІІСІ, ~ю;КJІІІООСТІІ~ІІІ )ІІ(І 
1JОІНІ нм:~с ,·о 1юд:~п1 рспоз111орію (місце збсріп1111111 фаііліп розроб11101.101юї 
с11стсщ1 о Gitl_a\.)) домс1111е ім'я тu 011кор11стовуuат11 iioro u якості лостуr1у в 
розробтоn~щу с11стсму. 
Пр11 ncpe11ece1111i с11стсм11 сл1л ораховуозп1 11 зпорзт11і r.i 11rю11х1м111 
ІJІІМОГІІ ДJ1Я СС))СДОLІІІШО ВІІКОІІОІІІІЯ. 
2.7.3 Надііі11ість фу111шіо11уur~1111я 
13 свою черІ")' стііі 1<ість с11стс~111 залсж11т1, ош рів11я нелікоі11оnз1111х 
дефектів. ПО~ІІІЛОІ( та здібності СІІСТСМІІ реагуват11 11а ЇХ про>1вле1111я ПІК, щuб це 
11с відображалось в nоказ11нках 11аді ііrюсті . 
Псредбз1111п 1 бло1-;уоа1111я 11с1юрс1спшх ді іі 1<ор11стуnзча np11 роботі з 
СІІСТСМОІО. 
Стііі1-;іст1, с11стсм11 nро11вляст1,ся ефскт11ш1істю ко1прол10 охіщ111х да1111х та 
відображс1111я їх з11омалііі фушщіо11уn:н1ш1 (дубліюпн, 11еnрав11л1.,11е внесен11я та 
ред:JІ')'ВЗІtІІЯ да1111х, проблем\\ З 81\Д.ІЛС\ІІІ!ІМ да1111х). 
І ІрІІ 01\КОІІаІІНі \!Сіх r1срелі•1е1111х І)ІІМОГ ДО с11стемн , вова ПОВІІІІІІа 
11рашо1Jат11 стабіл1.,1ю. 
28 
ЧДТУ.221819.008 ІІЗ 
РОЗДІJІ З 
ПРОГРЛІ\'1110-ТЄХІІ rчut ЗАСОБІІ . ОІПІІС І'ОЗІ'ОБJІ ЄІ ІОЇ СІІ СТЕМІІ 
З.І IJ11Gip ПJ)Огром110-1·с'\11і•11111 ;\ з асобіп 
Дш1 розробк11 оеб-оріє11тооо11ого додотІ<) веде1111.я обліt<у сімсі111ої 
б)•хгмтерії. я 6) ду в11ко 1>11стовуват11 11аступ11і з:1соб11 оп11с:111і о 111,ом) розділі. 
З . І І Мова розмітки I ITML 
НТМL - СТТІІІЛРр1113ова1ш ,1ооа роз-..,ітк11 до~.~•мс,пів у мережі i111ep1-1er. 
6іл1,ш1сть веб-с1орі11ок містя,ь оп11с роз,11тю1 11а мооі / ITi\lL (або ХН' І NIL). 
!'< І ов:~ HTML і11терпрстусться бр:1узером11 , отр11ма1111іі в рсзу,,ьnпі і 11терnретації 
фор~1 а1ова1111іі текст відображас11,ся на екра1 1і . Мова 111 ML до 5-ї оерсії 
ВІІЗ ІІ!JЧООСЯ я к ДО!І:'ІТОК SGM\4 (ста11дарпюї }'З3Г3.ЛЬ ІІСІІОЇ MOIJII розмітк11 за 
стандартом І SО 8879). С11е1111фік,щіі I І Tr-.1iLS формулюються о термі11ах DOM 
(об'скт11іі1 моделі до1(уме11та). У осес11іт11ііі 110 11)'11111і І 1Тh1L-сторі111ш, 11к 
nрао11ло, nередоються брау1ерr~м оі 11 сервера по про1околах І ІПР обо І ІТТРS, у 
в11г,11~ді простого ,екс.,у або з 0 1 1кор11сn11111ям ш11фруоа11ш1 . r-.10110 І П ML була 
розробпе11а бр1па11с1,к11м вче1111м Тімо~, Gср11ерс-Лі 11р11бл111110 о 1986-1991 
роках в сті11ах І {ВР І І у u )І(с11е11і о LUосі111арїї. I ITML cт1юr,1oon,1nc1, лк мов11 11m1 
обміну 11uyкono10 і тех11і•11ю10 доку~1е11т::1шсю. За допомогою І І'І І\1ІL мож1111 
легко стоор11•п1 оід1юс110 прост11іі. мс крас11во оформле1111 і1 доку~1е11т. І<рі~І 
СПf>ОЩСННЯ струІСТ)' рІІ ДОІС)'МСІІ"Га. D 1-11 f\lL ВІІСССІІО n ід1·р 1 ШІ(а І і пер, CI\Cry. 
Мульт11мсдіі111і можmшос I і бут1 .1одш1і nі•311ішс. Спо•1:~т1<)' мов:~ I ITl'<•IL бут1 
-задума 11а і стnоре11а ,1к  засіб струн1 ур) u1111 , 1я та формаТ) оа111~я докумс11тіп без їх 
пр11в'яз1ш до засобів відтnорс1111я (nідобрrш,с11ня). В ідеалі, текст з роз~1ітко10 
HTML г1ов 1 111ен бу11 без ст11mст11•111 1rх та стру~.'Т)•р1111х с1ютооре1 1 1, 
від1 nорю11ат11ся 1111 обт:щ1 1 :11111і з різ11ою тех11і'І11ою ос11още11істю (кол1,ороn11іі 
екр,ш су'Іас,юго 1<омп 'ютера 1 ~,011охrом1111іі екран орmнаіізеро, обмеже1111іі ·за 
розмірамн екран мобільного 1с,1сфо11у або 11р11строю і прогрn~ш го1юсооого 
1 ідтворешu~ текстів). Од,нш сучасне зостоС)•nа1111я HTJ\1L дуже далс1tо 11ід ііого 
початкової зада•1і. І Іапр11кщщ. теr (<<table>» nр11знn•1е1111і1 дпя стооре11ш1 13 
документах rraбmrць. (ІЛС іноді RІІІШJJІІСТОіІУСТІ>СJІ і для офорМЛСІІІІJІ роз~ІЇЩСІІІ І JІ 
... 
ра 
чдтУ.221s19 oos nз 
елеJ\1енnо 113 с,оріtщі , З ПЛІІІtО\\ часу oc110011n ідея nлатформ11ої 11сза1nежності 
мооІІ HTML була nр1111есе1щ n жертву суч11с111ш nотребnм о мул1,п1медіі111ому і 
грnфіч1юму офор\Іле111tі . Текстові до~..·умс11т11. що ~1істлт1, розмітку 1ш мооі 
HTM.L (такі докуме11т11 зазо11 1ші'і мвють розш11рс11ня .І1t 1 пІ або .l1un), 
обробляються спеща.~1ьш1м11 дод:пкамн, які вщобрnжаю, ь докумсн 1· в Л ого 
форматоuаном) внтляді. Такі лод:1тю1, зо:111і «браузерамrт або «і11тернет­
оглядачам1т, зазв11•шіі нада1оть корнстувачеві зручнпіі 1нтерфеііс для з:~mпу 
веб-сторі11ок. їх перегляду (і ш 1ведення на і нші зовнішні nрнстрої) і, при 
необхідності , від11равю1 ооеденнх кор11стувачем даннх 11з сервер. 
3.1.2 Мова оm1сузовuі.u.u1ього онrляду ІІОК)Мснтз CSS 
CSS - формальна мова ОПІІС)' зооніm11ього вuп~яду документа, нап нсшюго 
з вuкорнсташu~м мош1 розміткн. Переважно в11корJJстов) сться як засіб опису, 
оформлення ЗОВІІЇШJІЬОГО ВІІГЛЯД)' веб-сторінок, ІІ3ЛІІС3111!Х за ДОПОJІЮГОЮ мов 
розміткн HTh1L і XHTML, але може також застосовуваn1ся до будь-яю1х ХІ\111.­
до~,..-ументах, 11апр11клад. до SVG або )(UL. CSS вuкорнстовусп,ся розробшшам11 
веб-сторіRОІ< для заода~111я кoJu,opio, шрнфтів. розташування 01,.1,ем11х блоків і 
і11ш11х асле1,.-тіо nредставле1111я зовmШffЬоrо R11rляду uю, ое6-сторі11ок . 
Ос1іовно10 метою розробю1 CSS було розділенш1 оп11су логі•11юї структур11 всб­
сторіЕtю1 (яхе nроооднт1,ся за дооомоrою .НТм.L або і1LШ11...'- мов розм.іткu) від 
от,су зоо11ішньоrо в11rляду uісї веб-сторі111ш (nке тепер nроnод11т1,ся з::~ 
допо~югою формальної мов11 CSS). Такнu нодш \Іоже збіл1.ш11т11 дос·гуп11іст1., 
документа, 11ад.1т11 велнку гнучкість j МОЖЛІІОісn, уnравлі1111я ІІОГО ПОДЗ ІІІІ Я~І, 8 
та1<ож зме11ш1п11 скш~дмість і поотор10оа11іс11, n стру~..-rурному вмісті. Крім того, 
css дозволяс преДСТ3ВJUіТІ1 ОДНІ/ і тол же до1еу,1с11т В різ1111х СТІІЛЯХ обо І\ІСТОдах 
J3ІІВСДСІІІІЯ. т:ак11х як екранІіС уявле11ш1. друкова11е ІІОД!JІІІІІ1, 'ІІІТ3ІШЯ голосом 
(опец.іnльн11м голосоВІJМ браузеро1'1 або прогр:~мою •111тm-111Я з екрану), або пр11 
n11веде11ні пр11строям11, що ОІrкорнстоnу1оть шрнфт GраііJІя. До 11ояв11 CSS 
офор11шею-ш веб-сторінок здіііс111овалося 1шключно зособам11 l·l1'ML, 
безпосередньо осеред~1ні омісту доку111е11та. Ощ111к з появою CSS стало 
\ІОіІ(ЛJІ 011111 nг,11111111пове розділення змі СТ)' і ПJ)СДСТ3RЛСІ ІІІЯ ll01С)'ІІІСІІТЗ. Н::~uбільш 
30 
Ч!tТУ.22 І R1 9.008 ПЗ 
11о~;1ю ІІІдll'ІІ~І УІОТІ, спн~дарт CSS с; Gраузср11, що 11ранюют~, 1111 ндрnх Gecko 
(Mozil lo Г-іrсІох і iii.), \\'cbKit (Sorni·i, Лrom, Googlc Cl1ro111c) і P1·cslo (Opcm). 
CSS 1:rщПC\\'Ork (тnкож \\'сЬ <lesigн l'm111c\\•o,·k) - , 1с :1юдш1с1·ід1, 11ію·ото 1111с11а 
CSS-бi6Jiioтcк:i , стuорс,10 ю111 с111ющс111 1н робот11 11срстr~л 1,1111кn, ш111щкост1 
розробкн j RІ ІКJНО•ІС ІІІІЯ макс11мал1,110 МОЖJІІШОГО 'ІІІСЛО ІІОМІІІІОІ\ 11срсТКІІ 
( 11роблсм 11 суміс,юсті різ1111х осрсііі бр.~узсрін і т. д.). Так сnмо 11к і бібліотсю1 
скр1111тоu11х мов nporpaмy11ni111я. СSS-фрсіім11орк11, зnзшІ'tnіі м:~ ІОТІ, 0111·т1д 
зо1111іщ111,01·0 .css-фni1 J1 y, 11ідк1110•1111оп,ся до 11~юс1пу (додоюп,с~1 11 зш·оловок 11еб­
сторі11ю1 ), дозnом1ю•1 11 11сдосnід11е 1юму 11 то1 1 кощах осрспо, 11ро1т,аміс'Г)' nбо 
ДІІЗ3ЇІ ІІСрооі 11р:1 111 1111, 11 0 С'І ООІ)ІІТІІ 111111 1-мнкст. 
3.1.3 CSS Фrсіі~111орк І3001 s1п1р 
IЗootst rnp - 1.1с безко1 111 001111і1 щ1бір і11 стру~1 е 11тіо :1 оідкр11т11м І(ОJІОМ . 
1 1 р11з11:1•1е1111і1 для створе 111111 uсб-сnіітіо тn веб-додатків, 11к11іі м іст11т1, шаб,101111 
css 1':1 І·ІТМІ~ дmІ ТІІПОГр:tфі1ш, форм, КІІОПОІ(, ЩJОіпщії Т3 ЇІІІІІ ІІ)( 1(0МІІОІІ СІІТЇН 
і11тсрфt:іісу, а 'І':1кож лодапюnі ро:ш11 1 ре1 1 1111 .Іn,,nSСІ"ірІ. Оі11 с 11 rошус; розроGку 
л~111ом1ч1111х всб -с11і1тін і нсб-додаткін. Також І3001s1 п1р - не кл і с11тс 1,к11іі 
фрсіі~10орк, то6то і 1 1 · 1 сrфсііс лю1 1,ор11стуо,І'1а, 11а оід~1і11у оід коду сср11ср11ої 
сторо1111, як11і1 З ІІ аХОДІІТІ,С ІІ на СС'рІІсрі . І'сnознторііі і з UІШ фрt:ііМІІЩЖО~І С 0J\1111 ~1 
із 11nіі11011ут1р11іш11х 11а Gitl lt1b. Серс11 і1111111х. iioro 1111кор11сто 11уюп. NЛSЛ і 
MSNl3C. 
3.1.4 Мооа 1 1рограму1.1а 111 ІJ1 .lavaSc1·ip1 
Jn,,uScript - 11с мопа r1 ро1 ·рамуtщ 11ш1 . за допомогою 111,ої 11сб-сторі11~-:1~1 
11 nдnст1,ся і11тсрnкт111тіст~,. Пію рщ1ус об'скт110-оріс~1·1 01щ 1111 іі, ім11сра111111111іі і 
фу 11 к11іт1а111,111111 сп 1.111, . .Іа 1•аSпір1 :1a·.нm•m ii н1 11юр11стооуст1,с11 11 1, 11будо11а11а ~юоа 
J\JHІ nporpa~111oro досТ)' І І)' до об'rктів лодr1т~.і u. Ноіібіл1,ш 111 1 1ро 1:е застосущ11 1 1111 
3 11:'І ХОДІІТІ, 11 брау:1ерах ІІ І( ~ЮШІ сщ:11nріїu Д)ІІІ ДОДСІ ІІІІ Я і1псрn1п11111юсті осб­
сторінок. Осноо11 і :1рхітс 1сгур 11і р11с 1 1: д1111ам і • 1 11а т1111ізоці 11 , слаб 1ш 11111 і з,щі11. 
шпомап1•111е ксруоn111111 11n~1'Jп·rю, 11ротоп11111с 1·11ю1·рамуоn111111, фу111(11ії. 
JavaScript с об'с1<т110-оріс1поnа1юю ~ю1юю. Об'скт11::1 модел1, бр:~узсра - бр11узср ­
спс1111фіч11а 'І[ІСТІІ ІІ:1 ~ІО[)І І, 1110 С. 11pn 11 inp1юм ~1 іж ІІДJ)ОМ j об'с 1с11юю M0JІ<'!IJII() 
3 І 
чдn•.221&19.ооs 11з 
доt-')'МСІІТ3, OСІІОDІІС nр11з11ачс1111я об'с~-їІІОЇ МОДСJІі бр11)'1Ср0 • упр!ІІІJІІІІІІІІ 
11ію1зм11 бр3узср3 і ззбсзnечс1111я їх 11зnсмодії. Кож11е з uii,:011 бро),сра 
nре.цстзмясться об'с~.-rом "'i11do"'• 1tе11трм1..111tм об'скrом DOM. Jo,•nScript 
в11кор11стов)сn.с.я n Ю1іс11тс1,~-ііі •1nст1111і оеб-додnткіu: кліс11т-сср11ер1111х 
програм, в якому кліє11том с браузер. n сервером - оеб-ссроер, що мnютt. 
роз11од1ле11у між сервером і кліс11том norii-y. Обмі11 і111Іюр~ншісю о 11сб-додnткnх 
nідбувасться no мережі. Од1111111 з переваг такого 11ідходу с тоіі фвкr, що ІUІіс11т11 
не залежать від ко11~.-рст11ої 011ерзцііі110ї с11стем11 кор11етуnзч:1, тому nеб-додотю1 
с кросnл:11 форме1ш1111111 сероісnм11. Jn,•nScript 011кор11стооусться n АJЛХ, 
популярному підході до nобудов11 11р11з11ачсш1х для i;op11cтyonчn і11терфеіісіn 
nеб-дод:~т~.;в, що nолягnс о (((~011оnом)'>) nс1111хро1111ому обміні дш11ш11 брn)•зсрn з 
веб-сервером. 0 результnті. 11р11 ОІІОWІе1111і ДDІІІІХ 11еб-сторі11кn ІІС 
nерезnв:щтажусться повністю і і11тсрфсііс оеб-додnтю 1 стас шо,щшс, 11іж це 
відбуnасться np11 трад1щііі11ому nід,'\оді (без застосуоа1111я ЛJЛХ). Пр11з11аче11і 
для кор11С1)1ва•1а скр11nт11 о браузері - 11е програ~111. 1inn11cn11i 11а Jn,•nScript, що 
внкоІІ)'ІОТЬСЯ о браузері кор11стуnа•1n пр11 з:10:111таже11111 сторі11ю1. 801111 
дозволяють а01омап1ч1ю заrюш1юnат11 форм11, псрсформnтуnат11 сторі11ю1. 
np11xooynaт11 11ебажа111tіі вміст і вбудовуоз111 бажане для відображс1111я вміст, 
змі1110ват11 поведінку 1<ліс11тської •1аст111111 оеб-додаткіо, додnоnт11 слеме11т11 
керування на сторінку і т. д; 
З. 1 .5 Мова прогр:~м) оа~шя TypeScript 
TypcScript - мова nрограмува1111я, прсдс·m1шеш1 t,.,J icюsof1 1юсс1111 2012; 
nоз1111іо11у('т1,ся як засіб розробк11 оеб-засrосу11кіn, що розш11рюс мож1111nос1·і 
Ja,,иScript. rозроб1111ком мощ1 TypcScript с Л11дерс І сіі11сбер1· (!lltl'Jl. Л11сІе1·s 
l lejlsbc1·g), яю1І1 c·rnop1ш раніше Сі/, Т11гЬо Pnscnl ОсІрІ1і. Код 
екопсрІІМСJ І ГОJІ І,І ІОГО комп іт1тора, ко·, р11іі 'І р!ІІІСJІІОС 1(0}\ TypcSc1•ipl О 
11редсташ1с11ш1 JavnSoript, r101ш1рюст1,с11 під 11i11c1 1Jit·ю ЛрnсІн.:, розробка 
11едет1,с11 11 11ублІ'ІІІОМ)' рсnоз1порії •1срсз сер11іс Cotk•Plcx. С1н:1111фі1шції ~10011 
nідкр111і і (m)'бJІіко11n11і о рш,tІСІІХ yro.1111 Орс11 \\1сЬ J•m111<ln1io11 Spcoilic11tio11 
Agreen1eп1 (0\\'l·rt І .О), TypeScript с ·щорот111,о су~1іс111ш 1 .І11,111Script. Ф111r1·11•1110, 
32 
чдn'.221819 008 ІІЗ 
11іс.JІІ ~-омпіляції IIJ)OrpІL'І) 113. Т) pcScript \ІОЖІНІ ОІІКОІІ)'ІІ3ТІІ П 6уд1,-ІН,ОМ}' 
сучасному бр.~узсрі .~бо Dlllr0(111CТOD)'ІJ11ТII СІІЇЛ І.ІІО 'І ссросрІІОІО ІІІІDТfjІО(1\ІОІО 
Nt'dc.js. Персозn, ІІ3lІ Jo,•:i.Script можл1101сn. я01ю1-о u11111:1.•1с1111я r1шш (стпт11•111n 
т11n~зашя), 11 ідтрн~u.-а. 011кор11стnн11я nоо1юш111111 :\. 1uшсі11 (як о 1р:~д1щіІі1111х 
об'с1>-ТІІО•ОрЇСІІТОU3ІІІІХ МОЩL"); nштр11м1.11 ПІдІvІЮ'ІСІІІІЯ МОД)'JІіu. Зо 'JUдумом ці 
11овооведе1111я мають 11ідв11щ11т~1 шо11д1r1сть розробюt, npo•11m1icтL, pcфn1.-rop1111r 
і 11овтор11е 011кор11С11U11UІ КОд), здіііс111ооnп1 пошук nомнлок 1111 сттті розробкн 
Т:І ~;омп,ляuії. 3 тnкож ШОІІДКОдіІО 11роrрам. ПJІUІІ)'С1 t.СІІ, ЩО II СІІЛ)' ПООІІОЇ 
зоорот1101 С}'Міс11ості :u~п1па11ія 1c11y10•11Lx застосунюо 11n 11ouy мооу 
npotl):U.I) вання може оідбувnтнся ПОСПІПІІО, WJ\I\XOM ПОСТ)'ІlОUОГО UІІЗІІО'ІСJІШІ 
тнпіо. Підтрнмк:~ д1111:~мі•111ої т11п1з:щії збсріrnсrься - ко~~nілятор TypcScript 
ycniw110 оброб11ть і 11е мод11фіковn1111іі код 11а J,l\'aScript. Ос11ов1111і1 пр1111ш111 
моо11 - оесь існуючні1 код 1н1 Jav:iScript сумk1111і1 з TypeS~, ipt, тобто о 
проrрам:~х 1111 TypeScript можна 011 кор11стооуват11 ста11дар1 Ііі Jn,•nSc1·ipt-
6tблioтeю1 і ра11іше стооре11і 11onrauю11a1111я . Більш того, мо;ющ зnл1ш111т11 
існуючі Ja,1aScripl-npoeкт11 о 11езміu11ому 11111,111ді, а дані про тнпізаuії 
ро1містпт11 у nнrляді а11от:щііі, які чожна по,,іст11т11 n окре~,і фnііл11, які 11е 
заоажат11муть розробці і прямому 111,корІІСТ()НJІІО проею·у (11апр11кл:щ, подіб1111і1 
підхід зруч 1111іі пр11 розробці Jm аSсrірt-бібліотек). І Іа моме11т рслізу 
прсдстаnлені фаі1л11 для сор11і111яття розш11рс11ого с11 11тn1,с11су TypeScript дл,1 
\Ііm і Emacs, а також плагін для l\licrosoГt \11sщ1 І Siudio. Од1ючnс110 з nttxoдo~, 
слец11фіканії розроб1111ю1 nідп)Т}'ВШ111 фnіі1111 з дсклораціям 11 с111111'11111:-.. т1111і11 
для деякr1х лолуляр1111х Jn,·nScript-бi611 io1cк, серед як11л jQ11ery. 
3. J. 6 JavaScrip1-oтo•1e1111я Nntle.JS 
Notle.js - це JavoScripІ ото11с111111 11обудоnn11с I ш Jn,1n ' сгірІ-р)1 Шіс11і СІно111с 
У8. Як nc1111xpo1111e noдicne Jn,•o ci-ipl ото•1с11 1 1я, Notle c11poc1rroвni111ti дщ1 
1юnудоr111 MПCJJJl'nбn11n1111x ~ICJ)CЖCfltlX додnшів. у ІІІІ)t(•ІС t1nucдe1111i1 ПРІІЮІІІ)l 
"hello ,vorld'', я1шІі може одrюч11с1ю оброб11я 111 6nm I о 1'сд110111,. Дш, 1Co11mo1·0 
з'с}tJІ!JІІІІЯ ВІІІ(JІІІ КОСТІ,СJІ фу111щі11 'JIIO(IO І 111,ОІ О llltl(/II IK)', проте KOJtll З' ГІ(І 111111, 
11см:1с Node зnс11ш1е. Це 1со111 f>11C1 у1 'J біт,ш зnrn111,11010 моде;щю 11 11кіі\ 
33 
'1/tl)'.221819 008 ПЗ 
011~-ор11стовую1·ься IНJ\):!JICJ'll,Hi os ПОТОКІІ. Тnк11Іі 11ЇJІХід С UЇДІІОС І ІО 
11ссфс~-t1 1111111м rn д)r-,кс nажю1м у ш1ко1тстn1111і. Gi111,wc roro. 1шр11 сту1111•1і Nodc 
моЖ}'l Ь \ІС турбуоnт11с1, про бЛІЖ)'ІІ!ІІ ІНЯ 11!'ЮЦСС Ї І}, оск іn1,к11 ІІС\І[\(. ЖОJІІІІІХ 
бло19 в:~нь. 1\1\nІіжс жод11а з фу11~-ціі1 у Nodc 11с 11ро1110 с ІІDПf)ИМ) з 1/0, тому 
nroucc 11е 61101<.')•сn,с.я 111кот1. Ос~.іnьк11 1111101'0 11с б11окусr1,с11 на Notlc JІСГ1'0 
розробля1·11 м::1сwт:1бооn11і С1\С1СМ11 . Nodc стоорс1111іі ІlІд ОПЛ11DОМ ТОКІІХ СІІСТСМ 
як E,•cnt l\1acl1inc п ltuby обо T"•is1cd о r ytl1011. Nodc 011кор11стовус нолісву 
модель значно ш11рше, оі 11 11р11іімас ц11кл подііі (eyc11L І оор)) зn oc11on) оп) 1Jс1111я. 
зn~1ість того, щоб в1шор11стоnу11зт11 іі ого о якості бібліотекн . 13 i11w11x с11стемах 
ззажд11 стnсrься блокуоа1111я в11Ю1111,у. щоб за11ус111т11 І lІІКЛ 110дііі . Зозв,1•1аіі 
поосді11h'3 011з11ачастьсл 11срез функції зворот111,ого 011к1111ку 11:i початку скр11птn і 
11 кі1щі з:тускас сервер через блокую1 111іі ш1ю111 1<, 11к от E,•e11LМncl1ine::r1111 (). 13 
Node немае нічого 11одіб1ю1·0 н:~ в11ю111к 110•101 ку ц11клу подііі. Nodc просто 
вход11п, n 11одісв11іі ц11КJ1 після запуску скр1111та ня 1111ко11а111 1я . Node 011ход11·1 1, з 
подісвого ІІІ11UІ)' тоді , 1<01111 11С 1DЛІІШ3СТЬея зоресстров:tІІІІХ фу11кt1і II ЗООJ)ОТІІІ,ОГО 
n11ЮІІІh')'. Тако поведінка схожа 1111 11оnеді11"у браузервоrо .ln, •aScript: nодісв11іі 
ннкл пр11хоn:11111іІ оід кор11стуu:.1•111 . І І'ГГР с об'с1(То~1 першого роду о Node, 
розробленвм з nото1ювіетю та малою затрн~-uюю. Це роб11ть Noclc хорошою 
оснооою для веб-біб11іотею1 обо фреіімuорку. Те що Node c11poe1croont11111 без 
багатоnоточнос,·і, в1с оз1н~•н1е, що 011 11 е можете 011кор11стооу1шт11 можл11nос1 і 
кількох sщер у вашому еередов11щі . 13 11 можете е1оорю1ш1 11 до11ір11і 11роцее 11 , 
яю~м 11 лerJCo 1ссруш1т11 з допомогою АРІ cl1iltl_pгocess. lcн·k(). Мод)1111, cl11s1ei· 
побудонан1111 llfl ЦІ,ОМ)' інтерфсіісі і дозnоляс ІІІШ JtiJ111·11 1e1, сокс І ПМІІ мі )1( 
11po1iccnм11 то роз11одіш1тн 
11nnш1тажс11ш1 між ,щрnмн. 
3. 1 .7061c1,r11ю-рсющііі 1 1t1 б~1зn дn1111х Poslgп.:SQI, 
PoslgrcSQ І. об'с1r1110-рс111щІЛ1111 e11c·1ci-111 щ:рущ,111111 бn·шм11 д111111х 
(СКБД) , Є ш1 1,тср1ш·111вою ,11, 1сомеr11іІі111ш СКІ,Д (Оп1сІl' l )11tnlJ11i;u, l\1\k1·osol\ 
SQCScп,cr, 1131\•І JJB2 •rn і11111і), •111ІС і СКВДз оІ;щр 1 1 ·111м 1юJtО1'І (l\1tySQI ,, 1;і1·оЬі~'1І1 
SQJ,ite). Поріщ1111ІО з ін11111м11 11рое1("f11м 11 з 11Ідщ)11•1 ·1ш 1<l1J1oм, 11·111\1111111 л1с ЛрnоІ1е, 
34 
ЧJtTY.22 I 819.00S ІІ З 
1:1\'cBSI) або /1.·lySQL. PosІgrcSQI . I Iс 1.0II11ю11юстI,ся якшосI, 0;111ісю ~.tщтшісю, 
їі roзroGi.a МОЖЛІІІІ(І "НІІJДІІЮІ с11і1111р:щі 611111т1,ох тпдсІІ тn ко~1 111111іІІ , які )(() '1)'11, 
011корIIс1 ооув3п~ ню Cl( І;J t Т3 I1I1ро11:111жу11Iн II у 11 сї 11 оіі1юnІ 111і 11осяпIсI 1111:. 
(er11cp l'oSl!,!.ГCSQC ІІЗІІІІС:JІ ІІІіі ІІn ~ЮІJі С, )ЮІІІІ'НІіі рОJІІОІІСІО/ІіІі)'t'ГІ,С ІІ )' ІІІІ ГЛІІJІі 
,1nбorY ТСКСТОІІІІ Х фа і111і11 і :1 С ІІ J)ІІСІІІ\М кодом , ) \1111 t ІІ СТІUІЯІІЇЇ 11собхіЛІІО 
оі11 1.ом11 іJІ І011:1'Іl І фаіі1111 І Н\ СІЮСМ)' ком11'ютсрі j с~;о11ію11ап1 11 /\САКІІіІ І.ІІТnlІОГ. 
[)сСІ, I1ро11сс ДСП\Л ЬІІО 0 IIII саII11іі 11 ;юкумс 1гпщїі, l'osІgrcSQ I_ - ІІІІІ JЮІ(О 
()ОJПООСЮДЖСІ І3 С ІІ СКМ:1 1.сру11n 11II я бnз:1~111 ДfІ ІІІІХ J 11іл~;р 11 ·111м С ІІJ)ІІСІІІІМ колом. 
1lpo1·011III Gув розроб11с1111іі н І<nліфор11ііі с ькlІму у 11 і11срс 11тсті Gсрклі 11 1987 роні 
піл 11:J'!BUIO POSTGH.ES. 11ісля •юrо nкп,n,ю рuз111I111н1с1I і 1In110011юoI11Jc11 . 13 •1ср1111і 
1990 року з' ІІІJІІЛ:JСІ., дf))'Г:1 осрсін ІЗ 11срсrоблс1ю10 С ІІСТСМОІО llf)IHIIIJI 
мn 11і r~у1Iюnз11IIя Т3 робот11 з 1116J11111ям11 , у І 99 І році - трет11 версія, із Lюд:нюю 
,1іюр 11 м1юю од1 ІО'Іltс1юї робоп1 кі111,1;ох мс11сджср і 11 ·3(ісрсжс11ш1 , nni;p:111I0:I III, I 
МСХІНІізмом J[\f)І ІТЇ ІІ j ЛІ)fІОІJ ІІСІІОІО СІІСТС~ІОІО 011утрі11111іх ІІf>ІНІІІІІ . (3 11сіі чnс 
POSTGR[S I1IIIюr11стооу11оос11 JtJI11 r,са11іза11ії uc1IIII0Ix с11стс, I, 1аюIх nк; с11стсм:1 
:)ІІ3JІІ1)' фіІН!ІІСОВІtХ Д.НІІІХ, пакет ~Н!ІІі1·ор1 1 нr)• фу111щіо1111JІ І,І ІОСТі І ІОІ() І( іІІ, б:па 
1нI III I х 11ілстсжс1111я nстсрої11 і11. с 111.: , ·сма мсm1 • 1 1111ї і11форма11ії. кі11 1,1-а 
1·еоrрзфіч 1111 х сI Iс1 см, l'OST(J І{ ES ·1: щож 111IкорIIстоI1у1111110I 111, 1НІІІ'І Ш11,1111іі 
і1 1стr,умс11т о к11I1,1Сох у11і I1срс I I-п.-тnх , 199::! ро I,у l'OSTG IH:S с1 ао I·0Jю I1IIою 
Cl<li/j ІІtІ)' ІЮООГО комn'ю І С рІ ІОІ'О II рос I;ту Srq11oi11 2000. І ()І)] року I;I JІL,КІС 11, 
ІЮрІІС'І)' ІJаI ІіІІ 1юдnоїлас1,. Стшю 1pu 1y~1i11u. 1110 JІ!ІІІ 11 iJпp11~ 11;i1 іІ I1()/ \llill,WOl 'tl 
j)UЗІІІІТІ()' 11собхіш1 і ІІСJІ ІІ І<і ІJІ1Трат11 •i;ii.:y 1111 ІІ ОСJІЇJІЖСІІІІЛ бю ІІНІІІІ .\, ТО~І)' 
офін ііі110 IIpncIc-r I;срю1і буJю :IуnI II11.'ІЮ 11а 11срсії 4 .2. 19IN роI<у Л11<І1·,·11• \' 11 і .Іо ІІу 
СІн:11 ло1ннIII і1 псr:mретатор мо11II SQI " щю.: IюII111I11 11 11 с11р11с1111іі код і III IкннлII 11 
І 1нср1н::1 і свою рса,1із1щію 11 ід 1111·111011) 1'0$ \!:(І"<:s1JS. 1')9() року 11р1) 11>ам1111іІ 
rIpo1IyIrт бу,1 0 11срсіімс11011,1 Iю 1111 l'os1 ~1·cSQ І . і ·3 Iю•нпI,0Iюю 11,·рсісю б.О. 
ІІ(ІJНІJІІ,ІІІО ІО ІІЇДТ()ІІМІ(()І() ЇІ rозроб1rоІО ·1. 1 Іі~н11~11,с11 І 'j))'ІІ ( І l' ІІ СІІіІІ11істін )' 11IJl)''Ji 611'1 
ІІfІІІІІ Х , }ІІ(і J1oбru11iJ11,ІIO IIрII(ЛІІШІ ІІС І, ) IV 111 ,111 '0 llj)Ut.' ІП )' , 
3. 1,8 і Ітпформа y 11p1111J1i111111 (JiI-pc1ю·J 111 11p i)l~ 1 11 Oitl_11 l) 
Gi tl.a\). це I11 1ат1\юр.,н1 у11р11ш,і 1 11111 (і і 1 - р,· 1 10· 11 111 ,рі 1ш11.11 111111 і ·Jу Iю11у. 
35 
► 
l{ДТУ .221819.008 І ІЗ 
віJІс1,=жс1111я nомнлок, тсс11•11:11111я, дсnлоя, нсдсІІня кш1nліu і 11ікі-сторі110..:. 
GiU..:ib доnом111--ас розроб1111кuм 11сстн Gсз,~срсрІІІІІІІІ процес розrоJJ'f!ІІІІІІІ ДІІЯ 
те-,-туо:111ня, ст11орс1111я і дсnлоя коду. стсж11т1t зн ходом тссті11, підu11шуunт11 
"-о1проль вад якістю, фокусуоrr111111 1111 11обудооі прОД)'Ю)' зпміст1, 1111строюо11111111 
іt1С1'J')'ІІІе11ті11. Кточоuі можл11nості GitLnb: Ор1·n11 із~щі11 11ублі•11111х і пр1шnт1111х 
ре~1оз11торіїв; Упрnміння np:1nnм11, 1-рупам11; І мпорт 11росктіо, о ,·ому 1111с11І 'J 
GitHub: Вікі: АРІ ; Дошка ідеі\ і зrr11да111,; Лсі\61111, uix11, шnб1ю1111, ,~ошук; 
){оме111·ува1111я. об'сд11nн11я; І 111·егр:щія з Jc11kins СІ ; Відстсжс111111 з~1і11 і r1porpccy: 
Відстсжс1шя •1асу: Т:щож Gi1Lnb - комш111і11 , що 11ропо11ус схожі з GitJ-lub 
кор11стуnацькі послу,·11 із дод11ткоо11~111 nepcnnraм11, 11к то 11p11uiiт11i репоз11торії 
для бсзкоштоn1111х nідп11с1111кіu. Т:шож сугrсоо,о пcpcunroro с ~южл1113іс,·1, 
розrор11уп1 с11стему 11а сторо1111іх серверах. llpo 1-pnмn булn 11n1111cn11n Дм11тром 
Запорожцем з Украї1111. І<зрі1т11іі офіс і rc11cpa111,1111ii д11ре"-тор С11тцс 
Саіібра11деіі (Sytse Sijb.-aпdij) містят1,с11 ІЗ Утрехті. Код 11nn11c,11111ii 11n RL1by. 
Сrа11ом на трnвсш, 20 І 6, комnа11і11 1\13Ла біпьш як 80 111111ма1111х 11р:щіо1111І{іn тn 
більше І ООО дОЛ)"ІІІЛнсь до nідкр11то1·0 коду. С11стсму 11111;ор11стооуюп, б іл 1,шс 
100 ООО орг:щізацііі , ою1ю111ю з NASA, C131\ N, АІіЬаЬа, l11\•i11ccn, O1 1\еі ІІу l\•\cdin, 
Leib11iz-Reol1c11zc11tru111 (LRZ) тn Julicl1 Rcscмcl1 Сс11tсг. І<іл1,кіст1, спіоробі•1·1111 ків 
зросла з 9 у березні 20 15 до 150 співробіт1111кіп у 1·руд11і 20 І 6 року. Зn1-мь11с 
фі11а11суш111щ1 просюу зросло до 26 мл11 долnріп nісш, отр11ма11ш1 20 мл11 долnріо 
у верес11і 20 І 6 року від At1gнs1 Capital. 
3.1.9 І 1 гrcrpoor111e ссрсдоnшце розробю , \~1cbSto1111 
Je1Brai11s \VcbS1om1 - i11тerpoun1 1e середоп 11щс розроб1щ д1111 ,Іп,1nSсІ'ірt, 
Hl'MC та CSS під комла 11ії Jc1B1·ni11s, розроблс11і1 11n ос,юпі 11т1тформ11 І 111сІІі.І 
IDEA, \VcbSІoпn r спс11іnлі 'Зонn1ю10 персісю Pl1pStol'l11 , nро110 1 1ую1111 11ін~11ю11ш11у 
З JІОГО МОЖЛІ І ІJОСТСІ1. \\lel)SI0l'J11 ІІОС1'і1 1 ІПС'І 'І,СJІ З 11срсд-)'Стt1ІІОІ1JІСІІІІ~І 11111\І 'іІІІШІІ 
JavaScript (•1·nю~м11 НІ< JUHІ Noclc,js), 1сотр І досr1 •у1 111і дт, Pl1pStom1 бс'З(1ІІJНІ'1 ·110 . 
\VebStor111 під'ГJ)11мус ~101щ Jn,•11S01·lpi, Со/ТссS01·ірІ , TypcSc1·lpt ПІ І)мt. \\1cbSto1111 
1абезпс11ус IIПTO/JOIIOIJI J CIIJIII, n11 1111irJ І(ОД)' 1111 Jll,O'I')', 1111 11і 11щі10 110 l(()J~Y, 
рефактор1111r, ЗІІСІІП/ІЖСІІІІІІ тn і11тс1·рш1ію З С ІІСТОІ\ІІІ ~111 )'ІІІ)ПІІJІЇІІІІІІ 11срсі,ш11. 
36 
чдn' 221s19 оо& пз 
взж~1110010 пepen:iroю інТІ.'гроu:тоrо серсдовнщn розробк11 \VcbStor111 с rоботn з 
npoc1,."!'tlMII () то~,у ч,~слі, рсфnктор11111 коду Jo,•nScripІ, що ,1іс111п,с11 u rіз1111х 
фаіілn, і тека., прое~..Т) • а тзкож оклцде11ого u І ІТІ\·ІL). Підтр11мус1 i.cir \ІІІож111111а 
oКJІane11icn, (І\ОЛІІ о дО'-")1'1с11т 11а I ІТМL uюнще111,іі скр111п 1н1 Jo,,ascrirt, u як11і1 
оклnде1ю інш11і1 t-од І ІТМL. всере111111і якого 111v1оле11111і Javnscrirt) - 1; т-.~кнх 
коtІСТJ))'ІЩІЯл nідТрІІМ)'сn.ся КО[)СkїІІІІІі рефа~..їОJ>ІІІtГ. 
3.2 О1111с і11, срфсіісу тn фу11 к11іош1л1,1111:1. "ож;1 1шос1 сії 
З.2.1 l lpoucc аDторнзnuії корІІС'І) оача 
Для того, щоб авторнзуоот11сь ~-ор11стуо:1•1у у веб-додатку. потріб110: 
заііт11 на сзі'іт веб•додаn..")'; 
у формі аотор11з;1_ції nотріб1ю воест11 е.,е ..-. трОІіН)' адресу та n:зроль 
облікового ззn11су кор11стува•m та 11ап1снутu на i.110111~)' <<Уn1і1т11». 
Форма авторнзації в с11стему зображено на р11сунку 3 І. 
3.2.2 Процес реестрації ~-ор1ІС'І)'вача 
Для того, щоб заресструвt1т11 11oooro корІІС'І)'Ва'І) ) веб-додатку, потріб110: 
заі1т11 11а саііт веб-додатку; 
ІШТІІС І І}'11J ІІЗ поснлання ((Реєстр:ш1я» )' формі автор11зnцїї 
кор11 стуоа•m; 
у формі рссстраї запов1шn 1 поля 1,1.1ені, 11різu11щз, с11сkїро1111ої адрес11 
, n пароля і ш1т11с11ут11 кнопку «Зарссструu:1т11сь1,. 
Домашня бухгалтерія 
Еле1<тронна а,11реса 
Пароль 
...... 
р1-1су11ок З.J - Форма овтор111ації кor11t'ly11n 1н1 
37 
чдn' .221 s1 9 .oos пз 
Форм:~ рссстр:~uії f;О[)ІІСТ)'О:11 1,1 , 
• ) осб-лодптку з0Grажс1ю 11u р11су11ку 3.2. 
Домашня бухгалтерія 
Прі Js11ще 
Паро"ь 
За ре сструnатись 
Р11су1юк 3.2 - Форма ресстр:щії кор11сту n:~•1:1 
3.2.3 ГІро1!ес перегляду фі11:111соu11х ni11cy~1i;io i;op11cтyn:1•1:1 
д,r1я того, щоб nсрс1·л я11ут1 1 фі11:111сооі ПІдС)'МКІІ KOJ)IICТ)'l1:1'1:J )' /)Сб· 
ло11:1тку, 11011,ібrю: 
- зr~і\п1 11:1 саііт uсб-доJІ::~п:у; І 
- у формі ,11пор11з.щії 1101г,іб1ю uвсст11 с11е~-гг,O 11 11у адресу т;~ 11арш11, / 
облікового з.11111су кор1 1сту 11а•1а 1а 11;,1·11с11)'ТІІ на юю111,у «Уоііітю►. 
П ісля процесу зотор11зп11ії. 1юр11СТ)'11:1•1у з:~ за~ю11чуuа 111111 ~1 uід1ірщ:11,,>1 
сто1>і 111,:.~ фі11а11со1111х 11ідсум~;і11. 
Сторі11 к:~ фі 11 :11 1со/)11х 11ідсумк і11 зобr:1 ; 1:с 11O11а р11су11ку 3.3. 
Сторі ІІІі:І фі11а11соu11х nінсу~1 1,і н KOjHІ C'l )'IJ.1'1:1 СКЛЗ/НІСТІ,СЯ з: І І 
- і1 1формаціі111 е ~1с111O 1:op11,l)'iJ:l'1:1 (р11су1юк 3.4); 
- меню 11аоіг:щії осб-нолап:у (р 1 1су 1 ю~.; 3.5); 
- віджет11 фi 11:111coni1x 11 ілсу~1 1;і 1_11:ор1 1с1у в;1чr1 ( р11 су1юк 3.6). 
І І 
з s 
.. rw 
'І J П Y.221R19.00N ПЗ 
Ф nr-,o. ..... ~ ЬА,,, , .. 
111..І UМ◄ Щ\)UИ'І 
• І І t І c=:J • .... ' 
C=:J •- · . 
., ' 
., 
. ' 
' . 
'\ 
. ' . 
.:·•~ ..... ..... · ~... ·•• .-. , . . ..· -..._ ... .. . ... 
,' f ,# J _. ,,. ,. t!" .~ • ,,. • • • 
.- :- ,"" ( ' ~ ..; j..,..  .;,· ...• .•. ,.•::.:~ .: 
Р1,су 1 101< 3.3 - Сторі11ка фі11n11с<н111 х 1 1і нсу11 1 кі111-ор111.:ту11 :1•1а 
,\ Підсумки 
ё;; r.1ху11ки 
t'l- Транз.~кцїї 
Х Імnорt/Експорr 
P111.:y11o tc 3.4 - Ml'ttto 11nвіга11ії 11l'fi-110111 1тtc11 
В і11;1а:·1 11 , j1i11a11co1111x 11ію.:у 1111<ів ві11обр1 1;ю111111, 111 1~1у1111у і1 11І111рмнні111: 
11111110 '1)' 'І ІІ 'ІІІ ІІІІІІІОІ( ІЮІ І І ' І і ІІ 11 11 ус іх р1 1ху1 1 1шх ІЮІ'ІІ l' 'І)'ІІІІ'ІІ\ 'ІІІ { 'ІСір111111і\ 
111і·11 11 1іі 111:ріщ1 ; 
- ІІШІІІJІ)' 111 суму Jl()X()Jlill кuрІtСІ)'ІІІІ'ІІІ 'J усіх p:t:1.) 111, і11 І.Щ\/Іt.:І) ІНІ'НІ ' 111 
оfір111111Іі ·111і ·1111111 11 сріщ1: 
11/ІJІІ(ІІ)' 'ІІІ су~ , у 1111·1р 11т ·1 усіх рЮі)'ІІІ(і ІІ ІСОрІІt.:1 )' 1111 1 111 · 11111fi p1111 11il · 111і111 1 1іІ 
ІІl'ріщ1: 
;;ь 
ЧДТУ .221819 .008 ПЗ 
i·p:iфii-: о 11тр:п, яю1 іі від,об. J>,<"t·m..., ,,с n11 ·1· 1,,"" т11 l(()f)IICl)'Ull'li) O"J)\;~IO 110 
КОЖНОМ)' ІХІХ)'НК)' за ◊0-І) ""1 1111-1 ЗUІ· Т ІІІІІ-І 11ср· юд; 
гр:~фі к доход і о , я~-ніі оілобрзжас лох ін 1<op 11 cтyo:J1 1U о,<рсмо по 
~-ож11ому рахун~-у з:~ обр:m11іі зоіт1111 і\ ІІеріод: 
~ Пс rочм~,й 6..\ft,"lttC ➔ Д0>JА ~ Br1 ,pJ1., 
7760 UAH ~ооо USD 10300 USD 3880 VАІІ 
Гр•фі• еи,ра, 
r=::J Л· .. -= •·" u;:, C:=:J ••:,,-, а .~"' •~. .. ,. . .. , ,, ~. . 
[:=:J rl!•,_.~_, 'JJ.J • 
.(N 
' ,о 
1:,:п 
о ················ •-····· •.•..•. 
(3· G>~ ) ~) ~-~) \$1 d [ ~) (:> ~ · <:Р d ~ ~· 
:::' , .. <~ ~ j' ..... .:.,, ..... ..,. .:· :-- ,,::, -г '\\ 't' ')..  
Р11су1юк З .6 - В іджст11 фі11п 11 соо1 1х 11i;ti:y~1кio i;op11CТ)'O.t•1a 
3.2 .4 Процес зм і1111 зоіт1ю1·0 псріrщу 
Зоіт1111іі 11 еріо; 1 111<лю•1ас о себе ю1і 1н11 11 : по•н111,ооу ·н1 "і1111еоу і За 
з~мо11•1ув:1 1 111ям , ві 11 0611раст1,ся с 11СТСМ()і0 і ок1110 •111с в с-:бс пернн 11ї тn ост:~ 1111 ііі 
11с 111, по10• 11 юrо міся1.1.я. 
Дт1 ЗМ ІІІІІ з nіт1ІОГО 1 н:рі1щу, )11,ІІіі LІІ ІJІІІОаt: 11 :І і11формш1ію, що 
І\Їдобр.1жасп,ся у піджст::~х фі11а11сов11х 1 1і1tсу~11,ів 1(<1р11стуш1чr~ 110тріб1ю : 
з.1 ііт11 на саііт осб-додатІіу; 
у фОJ)І\ІЇ аптор11за11ії 11отріб110 ІІІ1ССТІІ СЖ'І\ТJЮІІІІ)' адресу та ІН1р0JІІ, 
обліІСОООГО з::~1111су І(ОJ)ІІСТ)'{)іІ 'І:І 1:1 11ат 11 с 11ут11 ІІ::І І(ІІОІ1 К)' «У11іііп1»; 
І{ЛЇІ<ІІТІІ Шl ПОСІІЛfІІІІІЛ З ДfІТОІ() 1 111 •1;\ТІ()' 1 віТІt0 1·0 періоду П 
t.\O 
•►  
ЧJtTY.2:! І S1 9.008 ПЗ 
і11форм:щіі111ому мс11ю 1;op11cтy11n•ia: 
- )' n11nалnючому К:\ЛСІІЩІрі обрат11 JIПl)' ПО'ІПl'К)' 'JОЇТІІОІ'О 111:ріону : 
клію1т11 11:1 rt0с11ла111 1я з дnтою r-irщ,1 з ві 11 юr·о 11сріоду 11 
інформ:щіfіному мс11ю кор11сту11n•10; 
- )' в11п:ІД3ІО'ІОМ )' К:.JJ1СІІдарі обр:п11 JHII)' кі11щ1 J Іl ЇТІІОІ'О періоду. 
n11пnдаюч11fі ~-алс 1щnр дЛя з~1 і 1111 лnп1 11очnтку 111іт1ю1·0 11сріоду 1обра;r;с1 ІО 
ІІ:І рІІС)' І ІІ>)' 3. 7. 
< . 
Мау • 2019 . 
• > 
Мо rи \,V(' п, Fr So Su 
2 3 4 5 
б 7 •8  9 10 11 12 
13 14 15 16 17 18 19 
20 21 22 23 24 25 26 
27 28 29 зо 31 
І .Qo~ О11n,ЧІІ U 41 І 
м 
tt 
Р11су1юІі 3.7 - І(щ1с11щ1р що1 в11бору Jta 111 110•1ат,;у 1а i:i111111 :н1іт111н ·о щ•рі<•JІУ 
3.2.5 Про11сс ІІСJ)СПІІІД)' i111jюp~tauiї ІІf>О f):!X)' IIKII 1юр11стув:1• 111 
}J;111 11cpcrmщy і111jюр,\Іі!Іl іЇ 11110 raxy11h'11 кор11сту1,:1 • 1n 0111 ріб1 1 () ; 
- 'jaii·111 11а i.:a11· uсб•JН>.ІJ.аТІ;у; 
- )' форм і ;1111ор11за11ії ІІО'fІ)Їб1ю ОВССТІІ ('JICIПJJOII II )' алрссу 1'11 ІІЩЮJІІ, 
обл і1(ОВОІ 'О 'НІІ І ІІС)' 1:ор11стуоа 1 НІ т:1 ІН1ТІІСІІ)'ТІІ ІІіІ t.11 0 11 1()' «У11ііі·111 1>; 
- )' ~ІСІІІ() 11;111 і 1 ·;111ії 11сб-;юдат1rу І(JІЇ І( ІІ)'Т ІІ ІІІ\ 11)'111(1' « І'іІ'\)' І ІІ:ІІ)), 
Стоrі II i;y 11cpc 1 , i,111у і 11 фор~1;111ії flJJO pnxy111(11 "ор11стущ1• ia ·ю()рю1:с 1 1 11 1111 
/ІІІС)'1щу 3. 8. 
JII 
ЧДТУ.221 8 19 .ООS І ІЗ 
....  
'"" І.м.~о, . ......... 
tlf'no1.-1 
Pi,1-...~• uю Ц)ОО ш 
У;нu и• • .,..,"-•t 
U :,t• І u.о.н 6'1) ш 
г~v~~ц-. ro,,,.,, U .).t~ t IO ш 
1'11су11Ок З .S - Сторі 11 ку 11срсглялу і11форм:-щії 11ро раху11 к 1 1 1юр11 с·І)• n.1•1а 
Сторінку 11срегляду інформаuії npo р:1ху11к11 кор11стуо:~ча склад:1сп,сJ1 1 
юю11к11 «С111ор11т 11 р.:1ху 1юю> тз raGлi 111 і з рахункам II кор11стув:)•10 . 
13 тзG111щі з рзху11зм II кор11стуоа•1а відображ:1ст 1. 11:tCT) n11::i і 11фор~1.щія 11ро 
р3Х)' ІІІОІ: 
валюта; 
1юто•11111іі бат111с; 
мс,110 у11равлі 1 111я~1 рахун"У · 
3.2.6 l lpoucc у11р:~олі1111я р:1ху11к:1м11 кор11ст) ва •,:~ 
Jlлн )' ІІ()аІІЛІІІ ІІЯ рсІ Х)' Іt!.,Ш/1 8-Ор111: І~ в;1•1.1 pcnJ1i юuа1111іі 11:ІС І )'ІІІ ІІІі і 
фу11 1щ іо11:111 : 
- СТООрСІІІІЯ рахунку; 
- рсл.:1гуnа 111-1 н рахун11у; 
ОІІЛ:ІЛС І І ІІЯ рахуІІК). 
JJ.:1)1 с, оорс1111я раху11ку потрібно : 
заііп1 11:1 саііт оеб-дод:~т~.у; 
у формі аоторнзаuії по rрі61ю 1111~с 111 CJ1c1-.-, ро1111у адресу тn napom, 
обн j t;OІJO го зn П нсу 11ор11стуо:1 •1 :, 1 :І 11n І ІІ С ІІ )'ТІ І І"' І(І ІОІІ І()' (( У IJ j і11 11)); 
~ \ІСІІІО 11авігnнії оеб-лодатку 1:.'Іі1:11 ~ п1 11:i 11y11i.1 « Рnху1щ11»; 
► 
ЧДТУ.2218 19.008 ПЗ 
- ІНІТІІСН)'ТІІ КІІОПІ<у «Ство р11т11 раху 1 юк»; 
- за1ІОВІІІІТ ІІ поле ім'я ' ТІІ п , валюта та rю•1атков11іі бат1а11с-, 
- 11ат11снут11 к11опку <<Створttпш. 
Сrорі11ку створе1111я рал)' ІІК)' 1,. ор11с1уоа•1а зображено 11а р11сунку 3.9. 
Створити рахунок 
t1 fpJH !J(UЇ 
Х lu1opr/E( (МРІ т,п 
UАН 
1(1,."\) 
-
Р11су11ок 3.9 - Сторінка с, ворення рахунку кор11с-тува•ш 
О1111с nолів сторін 1:11 спюrе1111я рахунку кор1tС1)'ВЗ'1а: 
- і~, ·я - текстове поле nр11з1~а•1ене для введ.енн.я імені рахунку: 
п111 в11n:1даюч11іі сnнсок nрнзначенuіі д:u1 в11бору 11,пу 
рахунку (рІІС) 1101-3.10): 
- вз.1ютз - в11па.:~:~ю1 111іі сn нсок прнзначенніі для в11бору вз...1юпt 
раху111,.·у (рІІС)lЮК 3.10): 
Ч)tl Y.22ІR19.0()R ІІЗ 
- ІІО'ІПl ІЮОІІіі бnлnнс • Іt11фро11с ІІОJІС ІІр ІІ ІІНІ'ІСІІС )ІJІ ІІ rJІІС)ІСІІІ ІІІ 
І ІО'\111 І((ІЩ)І 'О \):\JІ(І ІІ С)' І)'"'~ 
11 ,,/ІІІ<у, 
lІІП 
Готівка 
Гоtівка 
Кар1ка 
Ра\унок 
-vFІІ.,.-
PttC)' ttO" 3. 1О  - 1311п11 J1"1'1 10 • 1111·1·  СІІІ ІСОІ\.  0116ору 11111 )' раху11ка 
Ваnюта 
UAH 
І USD 
Р11су1ю1< З. І І - В11пnдnю1 11 1іІ с IIIIс<ж 1тбору Iнн1ют1I раху11ка 
11 іст1 снюрсI I 1 нI Iюnoro pnxy I нсу 1СорI1с1 увn•Iа. 11і 11 11ідразу 11ідобраз11т1,с11 у 
с11I1~:ку рахун 1<і u Iсор11стуnача . )J;111 рсдаrу11а 111111 p.ixyII i-y 11отрі61ю: 
- ·m ііт11 ІНJ саfіт nсб-Jюдат1<у; 
- у фоrмі аnтор11зації 1ютрі 6 1ю I1всс1II с 1 1 с Iс1 роIIIIу :щрссу тн 11щюл1, 
()(іJ 1і1с01ю1 ·0 'Іс11 I 11С)' І(OJ>IІ CT)' Bi1 1 tn 1:111:-1111(.'lt)'III 1111 І.ІІОІІІ,)' <<Увіііпт: 
- у h1с1Iю 11іtnі1';щії всб-;10ЩІТІ<)' ІСJІі1"1ут1 1 11:1 IIу 11 ~.т (( Р11ху 111<11»; 
- 11 hІСІ І ІО у11рr111лі 11ІНІ р:ІХ)'ІІJ()' ІІІІТІІ t'ІІ)' І II ІІіІ і1ю111,у 11~'J\lІІ')' ІІІІІ1І І ІІ; 
- 'J(\ Іі І ІІ1Т ІІ 11отI рПХ)' І 11()' 1111 сторі1111і pl'Jll ll ')' llill ll lll рах у 1 11,у; 
- 11ап1с1IутI1 1ою1шу «ЗбсрсI· 111)). 
( '·11,рін~су рс/НІІ')' ІJіlІІШІ р11ху11Iсу IсорI1с·I у 1111 •111 ·1oiip11·,1,t•110 1111 p11t·y11i.y 3.12. 
44 
ЧДТУ.22ІХІ9.ООХ І ІЗ 
Рfдаrуваrи рахунок 
tl Т p.!~JJ(U і 
U~H 
Поча~ковни баланс 
1000 
• 
Р11су1ю1с 3.12 - Сторі11кn рсд;1гувn 11 1111 p:ixym,y кор11стувnч.1 
Дт1 011щ1лс1111я р.1ху111,:1 1сор11стувач:~ 1ютрібно: 
- зшїп 1 11:i саііт всG-дод:~п,у; 
у фор111і ::11лориз:111ії 11111ріб110 ІІВССТІІ еJІСЮ'JЮІІІІУ адресу та 11ЩЮJ ІІ, 
обл іІ(О ІІОГО 'ЗІ'ІПІІС)' 1сор 11стува•1 11 ·,а ІІ<ІТІІ С ІІ)'ТІІ 11 :1 ІОІОІШ)' «Увіііпш; 
- у меню 11 :1віr.щії Асб-но11ат1,у 1(JІік 1 1ут1 1 11n 11y 11t--. 1· «Раху111ш)); 
- ІlідпзсрДІІТІJ JІІІШІЛСІІJІІІ раху111,у, )' СІІJІІ ІІ3!1ІО'ІО~І)' uit;11i 1111Jl:1Ж'll11)1 
J')c!X)'llf()' І(Оf)ІІ СТ)'ВrІ'НІ, 11а1 11 с 11у 1111 11 1 І(ІІ()ІІІ()' (( ІЗІ ЩШІ І ІТІІ». 
Сnл111щю• 1с nіІСІ ІО 1111Jt:1J1c111111 р :1ху111су кор11сту11n • 1.1 з0Gражс110 11н І'І 1су11t.)' 
.1. І З. 
, j 5 
ІJДТУ .22І 8 19 .ООХ ІІЗ 
Видалення рахунку 
- х 
~ 
Бii.дa~iшi ра1)11ок 'Кар11а 'Уніщки~на"! 
...,.  
Ім'а Тип ~ІОТІ Бапакс 
- --- Депозит Рщнок зосо • 
Карn:а АJІЯ вима1 Карш UАИ 6810 • І 
--·-
rа~11нець rа,івка UAH rl : 
- --
Картка 'Універсальна· UдН 100) 11 · 
І 
І · 
Р1 11.:у 1 Ю1( З.13 - Сш111ваюче вікно в 1щале11т1 р;1:-.у 111;у кор 11стувn•1а 
3.2.7 П1хщес перегляду і11форм:щії 11ро в11трrп11 кор1,стува• 1а 
Дт1 11срсгющу і11форма11ії 11ро шпрат11 1сор1 1сту1ш • ~а 1ютріб110 : 
- за ііт 11 на с<1і'іт веб-додатку; 
- у фор~1і автор11:1ації nотріб110 ввест11 CJ1t:1п-po 1111y алрссу та пnрол~, 
обн ікооого запису користуоn•1а та 11ат11снуп 1 1н1 1ою11~су <(У оі1tт1т ; 
- у ме11ю 11anirn 1 iiї nс.б-додr~т1<у ІіJІ Ї1<11ут11 11.1 11 у 11 1-т «Тра11зrнщії». 
С-1 орі 111,у 11t:рс1,1яду і11формації про Oll 'IJ):11'11 ICO J)IICT)'f\!1'111 'JОбрЮІ(СJІО 1111 
r11cy111,y 3. І t.J. 
ЧJtTY.221 RІ  9 .ООХ І І З 
Траюакціі 
~.1,1р111• 
,. .. - .... ........ ....,... 
,.'І- с,... '?"-• с,... 
•• І..,'fІІ•,1 ~ N .,i • ~Q\ I01 t r-~u&н ,so ..... 
' '"""' rD 
•· ~"''f"'" n~ i'""' otO, .'QIJ (.,,rtt &.U 
........ I-IO W< ЕІ] 
➔ !J~i:,, с...,,,. O)OSJCІ) Ам::,n ~",)ІМ ш 
"t.,,p.,1,11 І.о,.,,. .. ~- QICaSI01t 1., :i•u&u /')))ІWІ 
""">'• '-' "'"" ш 
(-, , .." 't-4. .. п.:, .. . .._,:. 060\)ОІ J ~)'t.І ~І.І JX,\l,IJt 
t,:нJ• rD 
=n ,.-~ •. .a, ~. .. ,. 1:-• , ... 06ОНОН •·4!P·u.a.~ 1 са·н..:.,. ,,..и .. ,,_~ І(\). e,,u~ ....,  ш 
... ,.,-~,. . (,-.м.. ('o6 CrSXIІ f f t .u•t 1,,, • т- ш 
+, l.,,~r,. Х."6 Q.10\}0ІJ .lІ"~i,t ющ.о rD 
t- f,тр., 1, ,.t;pc),e~ 0),)Н"Н r , w -.-,,. .. \OU,,. -Ш1 
Р11су1ІО 1< 3. 14 - Сторі 11ку 1 1 срсгляд.у і11форм:'Іції 11ро n11трrп II i-:op11cтyu:i•н1 
В таб111щі :3 011тр:п:1~11 1 t;Ор1 1стун:1• 1а uідображ:кт1,ся 11.1c1y 11 11:i і11форм:1 11ін 
11ро раху11к11 : 
ТІІГІ - Т І І П 011срані ї; 
ОПІ 1С - ТСІ<СТООІ І іі 01\ ІІ С ()І І ~•р;щії; 
JL;JT;J - д:на II J)Ollt:ДCII IHI orrcp:'llliї; 
n11х ід1111іі рахуно" - r1<P1a1 ,:01111ii р;1ху1нн: тра11з:жції; 
сума - cy~,:-t 0 11сран і ї Jt.JІ JІ 1111 х і.шю1·0 раху 111-:у; 
рахунок ІІ J)ІІ ЗІІ <І 'ІСІІІІ Я - 1<i111 11: n11 ii rахущщ ТJ1:1 ІІЗ.ІКІ І Їі; 
сумn - сущ1 опер,111їі щ , н p.-ixy11"y 11 р111 11а• 1с1111я 
ме,,ю упрnш1і11,.,, ї р: 11 па1; 11і сю . 
Д,1111 б і л 1,LJI :ipy•11 ІОГО 11срr 1 ·ю1 11у ·, р,11t:Ji\1, 11111 І<Ор IICT)'Htl 'Hl рt:ш11·ющ11 н, 
t.:1н.:тсщ1 фіт,труun, 11111 трн11 ·1 :-1 1( 1 1ііі . ) L•1н а,п 1 11 1:щії фі111,1 piu ·, 1т 11 ·.t111щІіі 1(1,р11с·1 у 
47 
... 
ЧДТУ.22І R І ?.ООR ІІЗ 
_ зn ііт11 1in саііт 11сб-лодоп,у; 
_ у формі 11отор 11 з1111ії 11011)іб~ю 1111 сст11 слс~-,ро 1111 у щirccy та r1 npo111, 
0611ii-01юro з1111 1 1су КОJ)ІІСТ)' ІІn•щ Т:І 111\ТІІ С ІІ )'ТІІ 1111 1< 110 111-)' «У11іііпш; 
_ у мс11ю 11аві 11111ії 11c6-JI0Jtr1тi-y 1<лі1<11ут1 1 11n 11 у 11кт ((Тра111(Ік11ї1» 
_ ІІ :tТІІСІІ)'ТІ І ІШ 110СІІЛ:1 ІІ І ІІІ «ФіJІІ,Т()11 )). 
Кор11сту11а• 1 с11і ДОСТ)'ІННІ фі 111,тр:111і11 тр11 11з11 к 11ііі 311 1111С'І )' ІІІІІІМІІ 11nл11м11 : 
- ТІ \11 (J)ІІС)' ІІО!- 3. 16}~ 
- 1111хід 1111іі pnxy1юi- (рІІС)' ІІ ОІ( 3.17); 
_ раху 1ю~- ІІf)ІІЗІН\ 1 ІС І І І ІЯ. 
І\•І с11ю фі111,трів тр1111заю1ііі 1<ор11стуоа1 1 n зображс11◊ 1111 р11 су111<у 3.15. 
Траюакції 
+С творm траюащ;,о 
О Тра1озщїї 
т~n -, Вихі.Ін~й ра\)'ІІОК Рщнок nр11знаце,;нА 
І Перео:аз , І 8:1 Всі 
T«n Опм1 ДІІІ Ім~:І,\ми~ рuумо1 (у»І РІІ}І'ОС nрІUНІ~ІИМІ С)\11 
ll\J U-\li І2Ш 
1'11cy1ini- .~,  . 1..:, :  - r-.t1 c 111n <І1іл1,трі 11 трn 11з111щііі ~тр1 1 сту 11111 1 11 
4S 
Ч}tТУ .22 І К19.0()R rп 
транзакц11 
+С t11ори111 тр11~uакц110 
1" " (!1,~і.оний рач•но~ 
П<'рr 1.;1з • І Bri 
ІJ,, 
0ІІТр31ІІ 8мw\АwмА р1хумоw Cyve 
[lо~Ф 
ne еа) 
Р11су11 ок 3.1С -. - І3111щщщ,,111і1 С ІІІІ СОJ.: 1111Gory т1111у тrш11ак~1іІ1 
Тран,акції 
+ Стоор~сти тр11нs11щіt0 
Тиn Вихідн11й раху,1 0~ 
Вс , в,, 
1•n дt'ПО)ІН 3000 USD су .... 
І ;щ,1"1>111, • 9)0 UдІ t 
1(\,) U.\11 ОІ>І 
Кар 1 r.J • У,ш,~рс,1nи,,1 · • 1000 UI\I t 
К~р,~іІ Afln 1, ,щn., 1 • •1~6l) UI\I t 
Рщ:у 1ю 1 , 3.17 - І3111Шд;J ІО'ІІІіі t.:ІІ ІІ СОІ. 1111Сіору 1111х і 1 1 11111·0 раху11ку тр:111 1:~~,;нііі 
3.2.R l l pu11t~C y11p111111i 1111J1 1111'1 ра 1; ш11 нор111..·1 у1111чн 
)J.; 111 y11r1t11JIIІIIIJI ІІІІlj)ІІ'І і ІМІІ ІіОJНІlї )' І ІІ І 'ІН J)~ІІІІ і ·ющ11111і\ І ІІІL" І У ІІІІІІ і І 
1 І 1у111: 11 іuшт: 
<:l ІІОJ)І..' ІІІІН ·1 J)іІІНІІІСІІіЇ; 
р~:JІІІ І )' ІНІІ 11 ІН трнІ 1 ·11 110 1 ії; 
ІІІІ JІШІ І..' 111111 1 j)Н ІІ 'ІІІІОІІІ . 
ЧJtTY.221819.008 ІІЗ 
Для ('1UОJ)СІІІІЯ 1l)аt11:нщії 1101ріб1ю : 
_ з::~ііп, 11:1 сnііт nсб-додnтку: 
) ф()рмі nnтop111aitiї 110трі6110 1шсст11 слск;1101111у n11rccy тn rrnpoлr, 
обл~~-оnого 1::i1111cy кop11c1y11n•1n тn 1 1 nт11c11yr1 1 11n к11011ку «Yniii пт; 
_ у мс11ю 11:ші,шtії nсб-д0Jщ1ку ю1і 10 1у1 11110 11у11кт «Трn111ак11їі)); 
_ 1тт11св)'1 11 к110111,у «Ст1юр11 111 трrн1·1r1к~1ію)); 
_ зnnon11111 11 поле 11111, 011 11 с, 111 1 хію111і\ рnху11ок, сумn то дnтn; 
_ 11ат11с11у111 І<ІІОПІ<у «Створ,1111». 
Сторі11ку с, uорс11ш111)n11закції кop11cтy1Jn•1n зобр:~жс110 11:1 р11су11ку 3.18. 
Створити транзакцію 
tнn 
К<11.1унJль111 nосцн, 
ДJr, 
j 8 J lo19 os ,в 
LН+ііФІ 
І, ІІС)'ІНЖ 3.  І оп - ( ' 11)1,1111,·' 1 с·1 порс11 11я 1рш1 ·JnкнІї ~-орщ:1у1111 1 111 
О1111с JIOJІЇJJ сн1рі111m (."І'ІЮJ)t.ІІІШІ ' І 'ІJП ІІ'ЩІ(Іtі'і ІСОр1ІСІ)'ІІІРІІ\; 
'І JJIJ - JJJ1 ІІfІJІПІОЧ II 11 С 11 І Іс( 11с J<'m l н11бо11у 'І'ІІІІУ 'І р1111 •111юtії (pHl') 111щ J І 1)): 
- 0/ІІІС ICJ(t І 11111.' IIOJJ(.' JIJHJ 0/ІІІС)' І рПІІ'JІІІСІtі'і; 
50 
ЧДТУ .221 819 .008 ПЗ 
011ХІ· д 111 1 іі І)аХ)' І ·ІОК - u 11 11маю111 1іі с 1111сок 11р11 з 11а11с1111іі для б 
011 ору 
u11 хідного р.1ху11 1<у кор11сТ)1 в.1ч.1 (рr~сущж 3.20); 
_ сум:з (о нхідІІ ІІ Й рахунок) - ц~1фроос поле 11р11 з11а 1 1 с11 с лля восде 1111я сум ІІ 
для в11х ідного рахунку; 
дата СПЛІІОШОЧС ВІ КІ ІО К3Л СІІд:'Іf)JІ длл о~1бору даПІ 
тр::ІІІ33КЦЇЇ (рІІС)'ІІОК 3.21) . 
Створити транзакц1ю 
ДОХІД ,-=rvn,- -------J 
Рисунок 3.19 - В11падаючий сп11сок 011бору п1пу трш-1закції 
Створити транзакцію 
Тиn 
Ви ~рати 
Опис 
Ко,.1унальні послуги 
Вихідний рахунок 
r-Карткадля виплат · . І 
6810UAH - -
І Деnоз111 • 3000 USD 
Гама ft ець - 950 UAH 
К-ар1-ка -"Ун іо-ер-сал-ьна- · -~О.О UN~ 
3.20 - 1111 •111іі СІІІ ІСО І- ІіІІ Сіору 11ю: ін1ю1·0 раху111<у 
Р11су11ок ІЗ ::ш<1ю 
51 
,. 
ч;х1·у .221R І  9.ооs ~ 1 з 
створити транзакцію 
T11n 
0n11c 
( Ма11 : 2019 А 
Kok • > 
r-:o Ти \Vp Th F1 So 511 
В11хід 
2 3 4 5 
ка, б 7 8 9 10 11 12 
13 14 15 16 н ІІ 19 
Сума 
20 21 22 23 24 25 26 
235 
27 28 29 30 31 
Да1а 
~ 2019-05-18 
Рщ:у1101< 3.2 1 - С11111111аю•1с в і 1<1ю ю1лсI Iд;1рл длл 1111 б()ру дnпI тр:111з:1юtії 
11 і еля ст11орс11 т1 11оuої тр;1111;11с 1 t ії, буде 11роосдс110 11срср11ху11ок зшн 1111 ку 
l(OUJтin Jl :l рю:у11ку де IIp0 ІIO/ll lJ l:lCI, тра11 :.т1щіл j ВОШІ відразу відобра:J ІІТІ,С ІІ )' 
cm1c1,y тра11за 1щіїї-і Iсuр I 1 с..:тув;I• Iа. 
1<01111 І<Ор11стуоа•1 0611pric ТІІІІ трnІІЗ[ІJ<ЦіЇ «П срс~-n :ш )' фор!'. Іі CТIIOl)L' IIJl)I 
·rрс.111за1щ ії з 'Л1311ТІ,СЯ TC J(CTOJIC ІЮJІС « РІІХ)' І ІОІ( IIрІІЗІ ІІl'ІСІІ1ІІІ>). }І 1сщо ІНІJІЮТ!\ 
оихідJІОГО рахунку j p:tX)'IIJC)' ІІj)І І '! ІНІ 1 IС І І І ІН рі :11 1 11, )' фор~І і C'l'U() j)L'l11I)I тр11 I 1 :1111щії 
та1еож з' но 11тI ,ся ПОJ ІС <<С..:умн (р11 хуIюIс 11р11з 11n•1с 1 1ш1)». 
ст ор1'1 Iку рс; I агу1Jr1IIшI · 1 ·11,•111 •J•n"ю tіЇ 1(0 j)llt:T)' llll'IН ' І ТІІІІО!'.І 
зображено нn р11су111,у 3.22. 
52 
..... 
ЧДТУ .221 819 .008 ПЗ 
Редаrувати tранзакцію 
о тра,uащІі 
Дeno>•• r • 3000 USD 
2600 
100 
Дата 
[ S І 2019-0S-16 
ІНЧІ,:іІ 
Р11 су110 1< 3.22 - Сторін ка спюрс II ш1 тра 11за1<ції кор11сту ва11а 
Для рсдагуоа IIня рахун1<у потріб110 : 
- заі1т~ 1 IIа сайт веб-додат1<у ; 
- у фор111і ::шторнзації потрібно u11сстII CJI c"1Iю 1111у адресу та п ароль 
облікооого запI1су кор11стуnача та I н1тI I с 11 ут11 1н1 1ою1 1ку «Уоіііт 1 т: 
- )' МСІІЮ 11шзіга 11ії оеб-додnТІ()' J<JlіІ<ІІ)''І'ІІ 1Iа ІІ)' ІІІП' «Транзакції»; 
В І\ІСІJІО упраолі11ю1 тра11за1щінм 11 ІІ :1ТІІСІІ)'ТІ І 1 1:І ii-() J Щ)' ред,н·у вfІІІІІ)І; 
ЗІ\1іннтн поля транза1<ції на сторі11 ні рсн:11)1 н.1111 1 11 трn 11знюtії ; 
Iнпнс11ути к11оп1<у «Збсрсп· 11 ». 
Сторі11 ку реда~ ·уоа 1111я тр:111за1щії 1(0j)ІІ С'І'УІ1 :І 'ІП ·306раіІ(\.'ІЮ ІІП )) ІІ С)' ІІІ\)' 3.23. 
53 
.... 
ЧJ1ТУ.22 І 819.00S І І З 
Редаrуващ транзакцію 
T11n 
о тра,оасціі 
2350 
Дата 
І ёі i 2019.os.1s 
-
Р11суно.к 3.23 - Сторі11ка рсдагуоання тра 11закції кор1tС1)'Оача 
Дnя вндале1нIя тра11 з.:1 1щії 1<ор1Iсту11а•Iа потрі6110: 
- заіІп1 на сайт nсб-до,щпку; 
- у форм і аотор1п,щії 1 ютріб1ю nвссп t слектро 1111у н;1рссу та 11,1рот, 
облікооого за п11 су "ор1Iступа•ш та щ1т11с11уп1 11n кIю1I1-у «У11ііі ·1 1 1» : 
- )' МСІІ ІО 11nоіпщії 11сб-Jt()Щ\'І'І()' 1ті 1шут11 1 Iа ІІ)'І ІІСІ' «Тр11 11зnкнії»; 
- підтnсрд1п11 ВІ1 JІіІ JІСІІЩІ тра1 1 ·.н1 1щії, )' СІІJІІІ ІН1Ю•І()t. \ )' 11ік 11 і ІІІІЩІJ ІІ.' 1\11)I 
тр.111·зш,ції /(OJ)IІC'J )' ІІ,1'tі1 , ІІсїїІІ СІІ)' ІІ ІІ ІІ І l(J IOIII<)' «ВІЩНJІІ ІТ ІІ >>. 
Сш1 11 n11ючс /3ЇІСІІО BIIJJ:IJl !:IIIIH 'І ріІІ І 'J fІЮtії І( ОJ)І І СТ)' НІІ'ІІІ зо6р:tі!.1.' ІІ1) 1111 
РIIсу11ку 3.24. 
-
ЧДТУ .221 8 1 9 .008 ПЗ 
ВидёІІІN◄нА траюёІ~щії 
р,1)"'-"'- -:-, 
, . DM5 RifM& 
ФІ~ь'ІJНІ.., 
)( ,.,nop1/E<CMPT 
,-..., ІмаfА•мR 
°""' ,. ...... 
А••• P•q,,to• ,,... 
+- с,... 
о~,р,,,,. ~ou~.,.,..1 "Р"'"'"'···· 
18.0SJ0\9 ІСІрІUАА• 
notA).,... . .,.,, .. , lJS0 
UАІІ аЕ1 
.. , ... ,f\11,. . І'о~,..,... 
09.0)JOІV ~,р,. ... А,18 &so1 1•11 
,,щ~,, аІ1І 
4- Cotrp,,-.. n1ю.,)",м 03 0S.201 9 .:.р,., 4./llt 11011•11 
'''"'"'' аа 
➔ до,111 дtno,.-.1 01.О~ 10ІQ Лню,,н JOOUS() аа 
~~'"' .:Q~•·- ..- , 07.0).201 9 .:,~ІУА•ІІ 1000 
f'IO<J!)., .. 
І ~•nАІІ ІІАІІ аа 
(· ~ t p.tt \14 І10\'\А 11.•~ 06.0S.l0 19 .:1рt\.\ДА8 )~ UAH 
f)1n 1111 ав 
= ntPf'UJ 3. ., n, ,о, іо1.1, 06()\1019 1(1ptc.• AAA tOO НА.1 1 r.,...,~f'u• ,оо 
~ 8•"'Р''" ~-- а.11:м,, UАІІ rm 
06.0S.1019 r. .... ,нtч1о 2.10 IJA•; ав 
(- 8..,-р..,.- х,~ - _C).l.0S .l019 • 
Дt'f!(Щй 
.. 20 uso 
..__ . аЕ1 /, 
Р~1су1ІО1' 3.24 - Спливаюче вікно в,1щ1ле1111н тра 11 ·1а 1щії кор11стут1•1а 
55 
ЧДТУ .221819 .008 113 
висновок 
у результат, ІЗІІКОІНІІІНЯ в1111ус1<11 .. . .. . • 
о, б:н,ал:11зрс1,ко1 робот11 бу1111 закр11111е11111 
ofP11н~нні з11а11ш1 з предметів · · . 
r,. ' · ІІІЖеttерн1 11роr·рам11ого зr~бсз 11счс111111 , 
p;,:; 1n,; ктура комп 'ютера, архітеt<Т)'І)'а3   11 ,
Р01 
 
рт,11ю1·0 забсз11счс 1111J1, розробt<а осб-
д3,-ків, тестува1111я програм та да
)10 ' 11 1 ,х В . 
'· пронес1 UІІІ(ОШІІІІІН ОІІГІусююї 
б"n"•· aJJaB\)CbKOЇ роботи було І)еnлізо t,'.'.", ІО ое 6- ор1•с 1-1товn1111н додаток nсде11ш1 
обліку сімей1юї бухгалтерії. 
в 11\JOUCCi 1юз1)обю-1 веб-01)іСІІТОІ)"'" ІІОІ'О J.ІОД.ІТ І<У, 01.1 1 11\Ю.І, ІШОR RC.I  нео б ХІ.Д ІІІ.  
стаn11, а cal\te: огляд предметttої області , 11роеІїТува1-111я, реалізація, тсстуоа1111я п1 
вr1рооадже 1111я. 
На етапі огляду 11редІ\1ет1юї області було 1.111явле 1ю потрібн і дан , для 
фушщіо11уоа11ш1 с 11 стеІ\-111 та :шало1·и с11стем1t. 
На ета11і 11рое1пува1-111J1 було створе1ю ніаграму 1ш1сор11ста 1111я , діагра~ ,у 
nотокіu дfІ1-11-1х, діагра.,1а де1<омnоз1щїі. 
. . 
Hfl етап і реалізації с11стем11, були реаJІІЗОІ.ІаІІІ моду л ,: ресстрац,я 
кор11стуоача, аотор11за ція 1<ор11сту1.1а ча, 11срсгляд підсуr-.11 ,ів за зн іт1-111й період, 
с1воренш1 раху111<ів , перегляд раху111<іІЗ, рсдаrува1111s1 р.1ху11кіn, u11дале1111я 
рі1ху11кіо, стсоре111н1 тра11за1<цій , перегляд тра11з:нщіїі , фільтруса11ш1 тра 1пакцііr, 
редагуоа11ш1 тра 11за1<цін , в11даленю1 тра1-1 за1щіі1, е1<сnорт щн111х 1<ор11стуоа •1а , 
шпорт дш11 1х 1<ор1-1стуоа•н1. 
На етапі тестування було прооеде11е тестува1111я 11а )І1,1ст1, збереже111-1я 
д:1111 1 х та їх ш11<ор11ста111➔ я. 
Длн розроб1<н с11стем11 було в11кор11ста11і так і 111ю1 ·раr-111і засоб11, як: 
.lctl3rai 11s \~'сЬStопп, Gil Lab, Pos1g1·eSQIJ, Dп1\\1 .іо. Дш1 011 11 cri 11ш1 алrор11 ·п,1ін 
робот11 с11стсІ\ІИ було використано т:ші r-.юnн 111юг1х~r-.1у1ш1111я , si1c ТурсSс,·ірІ, 
J,1,,<1Sc1·ipt. Також при розробці с11стем11 було н111юр11сл11ю: І3001s11·ар 4, CSS, 
ІІТМL. 
13 подальшому пла11уЄТL,СЯ ІЗДОСІ<ОІНlJІІ\111 С ІІ СТСІ\І)' в 11.rнші фу1шціощ1щ,1111х 
~І())ІіЛІ1n()стеі1, а саме: реuлізуnатІ·І СНСТСІ\І)' Р()'ІІШХ)'ІІІ<У І(J)СНІІТУ, І'\ЛfІІІ)'ВІШШІ 
11 11·,ра·, та створення груп І<0рнстув:1ч ів ДJ І)І 1 111~.:-н~111111 с11 і.111,1юго 06J1іку. Також, 
56 
ЧДТУ.221 8 1 9 .ООS 113 
•С1·1,сЯ розміст11т11 с11 стсму в мережу інтсрt1ст ЛJlЯ ї, ,щ корt1стn1111я Gy111,~ 
11 .~аІІ) • 
·орІІСТ)'tзnчm.111 мереж,. 
я"''~'' ' к . . .. 
13,,1юр11ст:1т IHCTJ))'MCIITH J\0ЗІ30J1ЯІОП, В/\ОСКОІІПЛІІТ\І с11стсму )::І І<ОрОТІ< ІІІІ 
. ~соелнкою командою розроб111н<іu. 
~р~tІН І 
Всі слеме1п11 с11стем11 бул11 розміщс 11 і н npoucc, ро,робк11 о с11с·rсм 1 
то 13срсі11 GitL.:ib. 
~;онтr0 
57 
ЧДТУ.221819. 008 ПЗ 
ІЗІ11(0РІ1СТАНА ЛІТЕРАТУРА 
Белозеров С.А., Ф11на11сь1 до маш~,его хозяіїстоа. И1юеспщ1ю11111,1І1 ас11скт 
_ СІlбГУ, 2006. - І 94с. 
В. В. Ковалева, Ф1111ансь~·. у 
че 6 11111< 11од ред. - М: ТК Велбн, Изд-оо 
Проспект. 2004 - 420 с. 
3 Вендроо А.М. CASE тех,юлопн,. Соорсме11111,1с мстодr,1 11 средстоа 
111Jоект11рова111·1я II Н!ІІОJ)М·а' ц1·1 он,~ ,ь1х с11стсм. М.: <І>1-111а1-1с1,1 н стап,спІІ(а, 
2008. 
4 Калбертсов Роберт, Браун Кріс, Кобб Гері Бь1строе тссп1роnштс. - М.: 
«Вильямс», 2002. 
5 Дже11 ХарріІнїо11 Проект11рова1н1е ретщ1101111ь1х баз да1111ь1х. - Лорн, 
2016. - 230 с. 
6 В01юднмнр Гайдаржн, Ігор Ізварін , Бази даних о і11формацінн11х с11стемах. 
- Уніоерс1пет «Україї,а», 2018. - 418 с. 
7 Ита11 Браун Веб-разработка с 11риме11с 1111ем Nocle 11 Exp1·ess. Пол1юцен1юе 
11СПОЛІ,ЗОПШ ІИе СТСІ<<l J11,1aScгip1 - Питср, 2015. - 336 с. 
8 Node js в дейстu1,111. 2-е изда11не / Натан Ранлнх, Головай•1ук, Марк 
Хартср, f\,1айк Кшпелон, Алекс Я11 г - П1пер, 20 16. - 432 с. 
9 Я1<00 Фай,,, Антон Моїсеєв A11gl1l01· 1-1 TypeSc.-ipt. Сш1тостроение для 
11рофссснон.:~лов - Питер, 20 І 6. - 464 с. 
10 ]\;J етт Фрісбі A11gllla1·. Сборн111< рецептоn - Д11але1<ТІ-11<а, В1,1л 1,ямс, 2016. -
460 с. 
11 СанІ\ІОН Холмс Сте1< MEAN. Мопgо, Exp1·css, Л 11gоІ,н, Node - П11тер, 2016 
- 496 с. 
12 Бе11 Фортс1. Освой самостоятел1,но яз1,11< з.:~просоn SQІJ / Пер. с англ. - 3-е 
11зд. - М.: Д11алект111<а, 2005. - с. 54- 288 с. 
13 Еnгеинй І\'Іоргуноо Postg1·eSQI~. Оснот,1 яз1,1ю1 SQIJ. Уче61юе пособне -
БХІЗ-Петербург, 2016 - 336с. 
14 В:-tііІІберг П .Н. SQL полное рукооодстоо // С11сте111а з:1 111юс 11в о 1\1/ySQL. 11. 
11. І3аіі11берг - ІОН ИТИ-ДАНА: І'1зд, 2ОО І. -с. 547- бОR 
58 
ЧДТУ.2218 1 9 . ООS ПЗ 
саІ"1чон Рнrс, Ха~н1\1 І<1,ос1 11 А 
'' J -ir · дм 111111стр111юв.1 111 1с Po~Lg,·eSQL 9. К11111·а 
реuептоtз - ДМ К Пресс, 20 І 8 - 368с. 
джуба Салахалд1н1 , Волкоо Андрсіі Нзучасм PostgrcSQL 10 _ ДМК Пресс, 
20 16 - ЗSОс. 
17 Документація 110 Bootslгap 4 (Елс1прон 1111 і1 ресурс] l11tp://bootstrar-
4.111/docs/4. l /gett iпg-s1ш·ted/iщ1·odнc1io 11/. 
ІS Документащя по .la,1aSc1·ipt [ Елсктро 11111111 ресурс] 
1)\1 ps://ja ,,asc,·i pt. п1/111ai1 un І . 
І9 Докуме11таці я по CSS [Електро111111іt ресурс] l1t1p://l1tmlbook.1·u/css. 
zo Документація по I-ITML 5 [Еле ктро111-11111 ресурс] /1ttp ://l1t111llюok.п1/l11111 1 5. 
21 Недолію-1 та переваr11 мови розмітк11 гіпертекстоо 11 х сторі11 0,с HTML 
[Електрон1-111й ресурс] l11tps://\\1,v,v.kazedt1.kz/1·efe1·at/ І 33 307 / І . 
22 J a,1aScгipt Кліс,пською мооа про 1·раr-.1у1шн1-1я fЕлектро111-1нй ресурс.І 
J1нp://,\1ebd1·ea111Іab.co111/telнюlogy/ja,1asc1·ip1 . \1t111I. 
ДОДАТОК А 
ЗА ТІ3ЕР Д)КЕНО: 
Зав. юн )Сдрою ПЗАС, професор 
·'-'V-\~,..v..i .&1- Псрву11і11с1,ю-1й С.М. 
,,_.2:!/2_'' __О_ _._{: __ 2022 р. 
\~'ЕВ-ОРІЄНТОВАНА СИСТЕМА ОБЛІКУ СІМЕЙНОГО БІОД)КЕТУ 
Специфікація 
482. ЧДТУ 221819.008 
Листів 2 
Розробн1ш Мульче111<0 В.В. 
Kepin11111< Рід1<01<аш:1 Л . Л. 
2022 ріІ< 
482. ЧДТУ.221819.008 ПЗ 
nоз 11:1•1СІІІІЯ 1-f аіі І\ІС І1'1ІИ\ 11 ІІSІ Пп11міт1сн 
S1.. ЧДТУ. 221819-0 l 12-0 І 
~ Текст nроп)ам11 
s,.. ЧДТУ. 22 1819-0 І 34-0 І 
~ Інструкція І<орнстува чеві 
g?.. Чдn'. 22 1819-0 1 90-01 
~ Гра<ІJіч11і мате1)іал11 
~ 
L--
--
,__ 
....... 
~ 
І 
-
-
-
61 
---
Дощпо" Б 
\.\1 ЕВ-ОРІЄНТОВАНА СИСТЕМА ОБЛІКУ СІМЕЙНОГО БІОД)КЕТУ 
Текст nporpar-111 
482. ЧДТУ. 221819-0 І 12-0 І 
Лвстів 49 
rозробни1<: -----.vІIL~~-------- Мущ,• 1е 1 1ко 13.8. 
Чер~саси,2022 
482.ЧДТУ. 221819-01 12-01 
Текст ссрuср11ої •~асп11111 п роrрам 11 
Текст фаііJ1у :1pp.js 
co11st сгеаtеЕ1тог == requi1·e('l11tp-c1тors'); 
co11st exp1·ess == requi,·e('express'); 
co11st patl, == 1·ec1ui1·e('pal11'); 
coвst cookiePa1·sc1· == requi re('cookie-pars~.-'); 
co11st cookieSessio11 == requiгe('cookie-sess io11 '); 
co11st logge1· = 1·eqt1i1·e('nю1·ga 11' ); 
co11st autlю1·i zat io11 = 1·cqu irc(' ./юutes/~1t1t lюrizr11io11') ; 
co11st riccou11tsRoute1· = 1·eqt1i1·e('./rol1tes/accou111s'); 
co11st вserDataRoutc1· = 1·cquire('./1·outes/use1·Da1a'); 
const i11dex Router = 1·cqui1·e(' ./roвtes/i11dex') ; 
co11st вsersRouteг = 1 ·equi1·e('./юutes/use1·s'); 
co11s1 арр = express(); 
app.use(logge1·('de,1')); 
app.use(ex p1·ess.jso11()); 
app. use(exprcss .ш· Іe11codecl ( { exte11decl: Гt1Іsе } )); 
app.use(cookiePaгser()); 
app. use(cookieSessio11( {1 1а111с: 'sessio11', kcys: ['scc1·e1'), maxAge: 24 * 60 ... 60 * 
1000})); 
,1pp.use( exp1·ess.static(patl1 .joi11L <І і r11a111e, 'рt1 І, І іс'))); 
app. use('/api', at1tlю1·iza1iol\) ; 
арр.вsе('/арі', use 1·Datal{ot1Іe 1'); 
а pp.11se('/api/accot1111s', ассон 111 s R0 11 t с1') ; 
app.t1se('/1
, і ndex Rooter ); 
,app.t1se('/t1seгs', usersRoute1·); 
// са1с І1 404 ai,d fo1·\\1arcl 10 епо1· І1 а11сІІс 1· 
app.t1se(ft111ction(1·eq, 1·es, 11ext) { 
11ext(createError( 404) ); 
'І )·,  
63 
482.Ч).І.ТУ. 22 1819-01 12-01 
// сIто1· l1a11dlcr 
app.usc( ru11ctio11(c1т, 1·cq, rcs, 11cxt) І 
// sct locnls, only рго,•ісІі11g стто,· ін dс,•сІортспІ 
rcs.locзls.шessзgc = c1т.111cssage ; 
rcs .locals.c1тo1· = гcq .app.gct('c11,•') = 'dcvclop111c111' '! crr : {І; 
// re11dc1· 1І1с еIтоr page 
res.s1att1s( cIт.status 11 500); 
res.scnd('cn·or'); 
J1  )·,  
111odulc.expo11s = арр; 
Тс,сст фаіілу 1·011tcs/acco11111s.js 
co11s1 express = reqt1i1·e('exp1·ess'); 
co11 s1 router = cxpress.Roulcr(); 
coпst userAccou111ScГ\1icc = 1·cqt1ire(' . ./seГ\1 iccs/accoш11s') ; 
const 11·a11sactio11SeГ\1ice = 1·eqt1irc(' . ./services/111111sact io11s'); 
route1·.post('/', (request, геsропsе, nехІ) => { 
co11st account = {. ..r equest.body}; 
accot111t .11serld = 1·eqt1es1.sessio11.t1se1·.id; 
use1·Accou111SeJ'\1 icc.ci-cate(nccoш11) . tl1c11(nccoш11 => { 
1·esponse.jso11( с1ссош11 ); 
} ).c·a1cl1(crror => { 
respo11sc.sta1 ш;(500).jsон( е1то1·); 
} ); 
І)• 
І ' 
ro t1Іc1·. gct('/1rш1sacIio11 s', (гС(ІLІСSІ, I·cspom;c, 11ех 1) => І 
t11111sac1io 11Sc1Yicc.,;ct( І'С( JІІ СS1 . (JІІСІ'У, п:(tІІСSІ ,scss io 11 . LІSCl',i(l) , 1l11..·11( І 11111sac1і он 
l'CSJI011SC.j S(J11( ( 1·а 11 sн~.: І іов); 
J ).саIсІ1(с1то 1· => І 
со1нюІе. І оІ:!,( 1.: 1тоr ); 
482 .ЧДТУ . 221819-01 12-01 
rcspoпse.stat us( 500).jsoв( спог) ; 
}) ; 
}) ; 
routeг.get('/ : id', (1·eqt1es1, respoпsc, ncxt) => { 
user Accot1111 Ser,, icc.geLB yld( r·cqucs1 .рат 111s. id, 
reques1.sessior).use1·.id).tl1en(accouiн => { 
,·cspoпse.jsoп( accot1 nt ); 
}) . са1сІ1( СІТОГ => { 
1·esponse.s1at us( 500) .jsoп( сп·ог ); 
} ); 
}) ; 
юulel'.get('/', (1·eqt1est, response, 11ех1 ) => { 
tiser Accotr пtSe,·,,ice.getA l 113yUserld( 1·eciucs1 . scssioп . t1 se1·. id ). Іl1c11(1ypes => { 
rcspoпse.jsoп(Іypes ); 
}) .catcl)( еГІ"ог => { 
rcspoпse.sta tнs( 500).jsoп( е1то 1· ); 
}) ; 
}) ; 
ro11Іcl'.dclc1e('/:id', (1·ечнеs 1 , 1·cspo11sc, пехt) => { 
нsеr·Ассон111 Sc,·v ice.deletcl3 у І сІ( r·cqнcs t . parї)ІНS . і <І , 
ГC(I\ICSl .scssio 11.\І SCl'.i(l) . tl1c11(typcs => { 
гcspoпsc.j soп(Іypcs); 
} ).СtІІСІ)(СІТОІ' => { 
rcspo11sc.st.i1нs( 500).jso11( с1то1·); 
І ) • 
( ' 
} ); 
1·ot11e.-.pul('/:i<I', (,·cqt1csl, ,·cspoпsc, пехt) => { 
coпst ассоt111І = 1·cqнcst.bo<.iy; 
accoш1t.id = reqt1est . pr11·a iпs . i<I; 
11 s1::r'AccoшнSe,·,, ісе. upclatc( ассо11пІ, 1·счнсs 1 .scssio11 .11sc1·.і d) . І І1е1)(nссошн => { 
б5 
482-ЧДТУ. 221 8 І 9-0 І 12-0 І 
respo11se.jso11(accou11t); 
}) .са1сІ1( error => { 
гespo11se.s1at11 (500) .jsoп( епог); 
}) ; 
}) ; 
router.post('/:id/tпmsactioпs', (1·eques1, геsропsе, пехt) => { 
const account = 1·equest.bodv·' .  
ассошн.іd = гequest.paгams.id; 
traнsact i011Se1·,, і ce.create( гeqнest. body, гequest . sessioп. LІse,·. id).t l1e11( t 1·ш1saction 
=> { 
гespo11se.jsou(tтa11sactio11); 
}) .catcl1( е1тог -> { 
1·espo11se.status( 500).jsoп( е1то 1·); 
}) ; 
}) ; 
route1·.get('/Lгaasact.io11s/: id 1 , (1·eqL1es1, response, next) => { 
tr.ansactionSeJ"\1ice.ge18y]cl(гeqL1est.pnгa111s.id).tl1e11(t1·ai1sactio11 => { 
respoase.json(transaclioп) ; 
}) . са lсІ1(епог -> { 
respoпse. talt1s(S00).jso11(e1тoг); 
}) ; 
}) ; 
routeг.pul('/t1·ansactio11s/:icl', (reqt1est, 1·espo11se, пехt) => { 
tтaпsact ionSe1·vice. t1pc!nte(гeq L1est.body, 1·equest. ession.t1se1·.icl) .І І1е11( l п1 11snot1 0 11 
==> { 
гespo11se.jsoл(tгa11saotio 11); 
}).catcl1(erтor => { 
co11sole.log( епо1•); 
response.s1at us(500).jsa11( епо1·) ; 
} ) ; 
66 
482-ЧдТУ. 221819-ОІ 12-0 1 
1);  
1-outcr.dclctc('/traвsac1io11s/ :id' , (,·eqt1csl, rcspoпsc, ,~сх І) => { 
1r ш1sactiol)Se,,, і ce.clclc1cByld( 1·cqнcs1 . pai,1m s. id, 
request.session.user.id).tl1e11(1r.1nsac1iol) => І 
1·espoвse.jso11( l111nsac1 іо11) ; 
} ).са tсІ1(епог => { 
console. log( с1то1·); 
rcspo11se.stat t1s( 500).jsoв( с1то1·); 
}) ; 
1 )· 
І ' 
rнodule.exports = I·outeI·; 
Тс,,ст фліілу 1·011tcs/:щtl1oi·iz:Hio11.js 
consl express = requi1·e('express'); 
coI1s1 router = exp1·ess.Roн1e1·(); 
coI1s1 use,·S er-1 і се = req lІ і 1·е(' . ./s e,-v і ccs/t1 se1·'); 
routcr.pos1('/regis11·a1io11', (r·cqucst, I·espo11se, 11ех1) => { 
usc1·Se1·vice.1·egist1·atio11(rcqucst.lюdy) 
.І І1с11( lІSСГ => { 
I·espoвsc. se11d О; 
}) 
.са1сІ1(епо1· => { 
co11solc. log(е по1·); 
,·cspol)se.st а t l1s( 500) .jsoн(е по1-); 
} ) 
І)• 
І ' 
I·0111cI·.posI('/ logil)', (1·cqt1cst, I·es 1юI1sc, 11cxt) => І 
щ;c1·Se1·vi ce.gct Uscг( ,·cqocsl. Ьо<Іу) 
• І І1с11( lІSeI· => { 
і Г (1 1 sсг) { 
(ІсІс11:: 11scI·.pш;s,\10 I·<I; 
67 
....... 
482-ЧдТУ. 221819-0 І 12-0 І 
request.scssioн.uscr = uscr; 
rcspo11se.jsoп(requcst .scssio11 . l1ser) ; 
} clse { 
respo i1se.5Іatus(4 0 І ).jsoн( { error: { 111cssr1gc: 'l11valid uscI· с11ші І ,шd/or 
pзSS\\10rd'} } ); 
} 
}) 
.catcl1( еIтог => { 
console.log(error); 
respo11se.s1atus( 500).jsoп(е 1тоr); 
}) 
}) ; 
router.get('/logout', (1·equest, respoI1se, пехt) => { 
ir (1·equest.sessio11.user) { 
delcte request.session.user; 
respo11se.se11d(); 
} ); 
router.get('/user', (request, rcsponsc, 11ех1) => { 
response.json(1·eql1est.sessio11.l1se1·? 1·eqt1est.sessio11.11ser: 1шІІ); 
} ); 
inodulc.cxpo11s = rou1eI·; 
І 
Тс~.ст ф:1іі .r1у 1·oнtcs/11sc1· І)i1ta.js 
const cxr,I·css = rec1L1 iгe('cxp 1·ess'); 
const router = cxr,1·css.Ro111cr(); 
const userD,llaSeГ\' icc = 1·cc1t1i1·c(' . ./se1·,, jccs/t1sc 1· І)c1I:i'); 
routcr.gct('/exr,01·I', (l'eqtIcs1 , 1·espo11sc, 1н:хI) => { 
userDataScI·\, ісс.ехро11( rc,1t1csI .scssio11 .11sc1·. і(І).І І1 с 11( (lntн => { 
I·csponse.jso11( сІ,-11.1 ); 
} ).catcl1( споI· => { 
4 82 .ЧДТУ. 22 1819-01 12-0 1 
сонsоІе.Іо!;( е1тог) ; 
1·espo11se.s1.i1 t1s(500).jso11( сп·оr) ; 
}) ; 
} ); 
rot1Іer.post('/i111po11', (1·cqнes1 , 1·cspoнsc, 1\cxt) => { 
11se1·DataScГ\• ice. impo11(1·cqt1es t .body, 1·cqt1cst.scssio1\,t1sc1·.id).tl1c11(() => { 
1·espom;e.se11d(); 
}) .са1сІ1(егюr => { 
coнsole . log( епо1'); 
respo11se.s1a1 us(500) .jsoп( епо1·); 
}) ; 
}) ; 
11юdule.expo11s = route1·; 
Тс1сст фаіілу sсп·ісс~/:н~сщ111Іs .j s 
const {r ool} = 1·equire('pg'); 
co11s1 getUserAccoш1tsQнeгy = 'SELECT * FROM ассошнs \~' l·IERE "11sс1·ІсІ 1 ' = 
$І;'; 
co11s1 crea1eAccoш11Qt1e1-y = їNSEl~T ІNТО accouвts ("use1·Іd" , т1111е, typc, 
curre11cy, ЬаІа11се) \ 1 ALUES ($1, $2, $3, $4, $5) RETURNING *;'; 
co11s1 ~сІЛссоu1\ІВуІdQt1егу = 'SELECT * FROM ассош11s \VHER[ ісІ =$ І 
AND "t1sc1·Іd " = $2;'; 
co11st сІсІс ІсАссош1ІВ уІdQt1е1·у = . DELETE Г-RОІ\11 acco11111s \\11·1Е І{ Е id = $ І 
AND "11se1· Іd" = $2;'; 
co11s1 11pdateAccou111Q11ery = 'UPDA ТЕ nccot1111s S[T "щнпе" =$ І , "І уре" = $2, 
"ct11'J'e11cy" = $3, "ЬаІ,111се" = $4 \\І І·І ER Е ісІ = $5 AND "11sе1· І сІ " = $6;'; 
1noclt1le.cxpor1 s.getTypes = .1sy11c О => { 
СОІІSІ рооІ = 11е"' r ool(); 
co11s1 1·cs 11І1s = а\\'НіІ pool.qt1cry(gc1Лcco111щ;Typcs); 
І, 
І , 
69 
4 82,ЧДТУ. 22 1 8 1 9-О І 12-01 
module.expo11s.ct'eate == .isyl)c nccouiн ==> { 
coнst {u se1·Іd , 11:ime, typc, сuпсщ:у, balaiicc} ::::: ассошlІ; 
co11st рооІ = 11е\\1 РооІ(); 
coнst results = 3\\'ait pool .query( c1·eatcAccoш11Que ,·y, [ userld, ,ште, type, 
curreвcy, ЬаІа11се ]); 
retum 1·esults.ro\\1S[0] ; 
};  
modole.expo1ts.getAIIByUse1·Іd = usync t1serld => { 
const рооІ = 11е\\1 РооІ() ; 
coвst 1·esults = a\vait pool.que1·y(getUserAccou11tsQнery, [userlcl]); 
retum t'esu І ts. І"О\\1S; 
};  
111odu le.exports.ge1Byld = аsупс (accoш1tld, ш,е,·І сІ ) => { 
const рооІ = ne,\1 РооІ(); 
co11st ,·esults = a,vait pool .query(getAccoнntByldQue,-y, [accottntld, lІ Ser ld]); 
retum 1·esults.1·0,vs[0]; 
}; 
111odule.expo11s.deleteByld = asy11c (ассошнІсІ, userld) => { 
co11st рооІ = 11е\\1 РооІ(); 
co11st 1·est1 lts = a\\1ait pool .qнe1·y(clcleteAccoui11 ByldQt1e 1·y, [accoн11tld, щ;е 1·І d]) ; 
retum results.J"0\\1s; 
};  
nюdulc.exports.ttpclate = asy11c (accot111t, tiscrlcl) => { 
const {id, na111e, type, сштепсу, ЬаІ:шсе} = nccot1111; 
coпst рооІ = пе....,, РооІ() ; 
const results = a,\,ait pool.qt1e 1·y(нpdatcЛcco11111Q11e1·y, [ 11ате, type, с11пе11су, 
Ьr1Іа11се, id, userld]); 
retum 1·est1lts.1·0,\1S(0); 
І ; 
70 
482.ЧДТУ. 221819-01 12-01 
coost {Р ооІ} = reqt1irc('pg') ; 
coпst accouнtScГ\•ice = 1·cqui1·c(' ./accouнts'); 
coпst crectteT1·:msactio11Qt1c1y = 'INSEH.Т ІNТО trn11sactio11s (dcsc1·iptio11, type, 
"fro111Accouпtld", "amotmtl"1·0111", "toAccoнпtld", "amouпtTo", datc) VALUES 
($1 , $2, $3, $4, $5, $6, $7) RETURNING *;'; 
сопsІ getT1·a11sactio11sByldA1тayQue1y = 'SEIJECT * FltOM transnctions WHEltE 
"fro111Accou11tld" = ANY($ I )'; 
co11s1 getByldQuery = 'SELECT * FROM tJai1sactio11s WHEl~E id = $І;·; 
co11s1 updaleQuery = · UPDA ТЕ 11·ansactio11s SET dcsc1·iptio11 = $1, type = $2, 
"fromAc.cou11tld" = $3, ".:н11оu111Fго111" = $4, "t0Accot1ntld" = $5, "а11юt111ІТ0" = 
$6, date = $7 \\11-IERE id = $8 R.ETURNІNG *;'; 
co11st deleteByldQt1e1y = 'DELETE FІ~ОМ ti-cmsactions \\1HERE id = $1;'; 
coпst upda1eAccot111tQt1e1·y = · UPDA ТЕ ассошнs SET "na111e" = $1, "type" = $2, 
"cu,тency" = $3, "ЬаІ,111се" = $4 \\1HERE id = $5;'; 
co11st Туре = { 
Cost: І , 
Іпсоте: 2, 
Tra11sfe1·: 3, 
1 • 
J, 
co11s1 aprlyTп111sac1io11Cl1a11ges = async (сІіе,11, Іпщsасtіоп, нsе1·І<І) => { 
co,1s1 f type, fro111Лccoш1tld, a111ot1ntFro111, t0Accot1111 lcl} = Іп111sасtіо11; 
lct {а111ош11То] = 1,·:111sac1io11; 
if(type = Type.T1,111sfe1· && typeof amotinІTo != '1111111ЬсІ") { 
an10t1111To = а111оu111Гю111; 
} 
с01151 fютЛссоLІпІ = a,\•ait accot1111Sc1·,,ice.ge1 Byld( f1·0111Лссошн І<І , t1se1·Іcl); 
s,vi1cl1 (Іурс) { 
Сі'Іsс Type.Cost: 
І. Л I• Ь  . 1 ",., 11се -- 1~1. 0111дccou111 .baln11ce - ai110111111 7ю111 ; 
ТОІН СС(НІІ) а 
71 
482 -ЧД'ГУ. 221819-01 12-01 
case Туре.І11со111е: 
fi-omAccouпt.balaпce = r1i· о т А ссоt11Н .ЬаІш1се + а~110шнrю~п ; 
break; 
case Туре.Тгапsfe J": 
f~·отАссошн.ЬаІапсе = f.-omAccot1111.balш1cc - .111юl111tІ;ю111· 
' 
co11s1 t0Accou111 = 'a ,vait ,' ІСС оlю\ s е1 .,1 1. ce.getІ3ylcl(10Accou111Іd , l1se1·Jcl); 
tоАссошн .ЬаІапсе = t0Accoш11.baln11ce + a111ol1111To; 
.t\\1ait client.que1·y( 
upclateAccoш11Ql1ery, 
[10Accou11t.11a111c, t0Accou111.type, t0Accou11t.ct1пency , 
10АссоlІВІ.ЬаІа11се, t0Accot111t.id) 
); 
defat1l1: 
tІ1ю,.., 11е,.., Епог('І1н1аІіd 1п111sactio11 type') ; 
t1\\1ait clie11t.qt1cгy( 
ltpclatcAccou11tQue1·y, 
[ Гю111Ассоu 11t.na111c, fr-o111Accotinl.Іype, Гrо111Ассоt111t.сште11су, 
Г1 ·01нАссоu111.ЬаІа11се, 1'1·0111Accot1111.icl) 
); 
1. 
І ' 
coпst 1·c,,e1·tTra11sact io11Cl1ar1ges = asy11c ( сІ ie11t, І 1·,111sact іо11 І d, t1seгlcl) => { 
const 11·a11saction = awail 1J1is.getlЗylcl (t1·a 11sactio11Іcl ); 
co11s1 {type, fюп1Ассоu111ІсІ, a111ot1111rю111, t0Ассош11Іd} = 11·ат:,ас1іо11 ; 
let {a i110tmtTo} = 1п111sactio11 ; 
if'(type = Type.Ti·a 11sfe1· && typcof а111оu11ІТ0 І= '1ш111Ьс1·') { 
атош1tТо = a111ot111tF1·0111; 
cons1 fгomAccou nt = a'Ntl і I ассонпt Se1·,1 ice.gc113 У І (І( fr-omAccoш1t ld, нsе~·І d); 
72 
,. 
4 82 .ЧДТУ. 221819-ОІ 12-01 
5,vitcl1 (type) { 
case Type.Cost : 
fro111Accoнnt.bala11ce = f1·01пAccollnt.bal,111ce + шпоt111tГ-ю111; 
break; 
case Туре.Іпсо111е: 
fromAccount.balaпce = fгomAccou11t .bala11ce - amou111rю111; 
Ьгеаk; 
case Type.T1·aпsfe1·: 
fюmAccount.balaпce = fю,пAccount.balaпce + a111ou11tfю111; 
co11s1 toAccoнnt = a\vait accoш1tSeг,,ice.ge1Byld(toAccou111 ld, use1·Jcl); 
tоАссонпt.ЬаІапсе = ІоАссоuпt.ЬаІапсе - a111ou111To; 
a\\1ait сІіепt.qнегу( 
upd:нeAccouпtQue1y, 
[t0Accounc11a111e, toAccount.type, t0Accou11t.ct1 ,тепсу, 
toAccount.balaпce, toAccount.id] 
); 
b1·eak; 
default: 
1І1rо\\' 11е"' Епо1·('І11\1аІіd traпsaction type'); 
} 
,l\vait clie11І . qt1e1·y( 
updateAccoш1ІQt1eгy, 
[fТ ОІ)) А CCOllll І .113111 е , rl.0111дccou,1 t · l)'JJe ' f1·0111Ассош11.сштс11су, 
rютАссош11.ЬаІа11се, r1·0111Accot111t.id] 
); 
} ; 
n10dure.expo1·1s.c1·cate = аsупс ( 11·,шsас 1іо11 , use.-lcl ' 
allo,vApplyi11gTr,1nsactio11Clн111ges = tпie) => { 
let results = 1шІІ ; 
const рооІ = 11е ,,1 РооІ(); 
73 
-
4 82.ЧДТУ. 221819-01 12-01 
co11st сІіе111 = a\\•nit рооІ.со1шсс1(); 
\І")' { 
3\\•ait сІ ie111 .qt1e1y('B EG І №); 
co11s1 {desc,·iptioп, Іурс, f.-0111Accot111tld, amoti,нr.-0111 , 10Ассоu111ІсІ, dаІе} = 
н.шsасІ і оп; 
Іеt {а111ош11То} = t1·ai1sactio11; 
if (type = Typc.Traпsfe,· && Іуреоf niпot1111To != '1ш111Ье~-') { 
a111ot1ntTo = а1110ш11Г-1·0111; 
} 
if (allo\\1Applyi11gT1·a11sac1io11Cl1a11ges) І 
a,\•ait applyTra11sac1io11Clн111ges(clie111, 1111щ;асtіо11 , usc1·Іcl) ; 
гesults = a,,,ait clie11t.queгy( 
createTп.111sactio11Qt1c1·y, 
[desc1·iptio11, \уре, f1·omAccot111tl<I , a1110u1111:-.-0111, 10Accot111tld, а111ош1tТо, 
ве\\' Date(date)] 
); 
a,va і І сІ ie111.quel")1('COM М ІТ') ; 
} catcl1 ( err·or) { 
,нvніt clieлt.qt1e1y('ROLLBЛCK') ; 
} fi11ally { 
сІ іспt.геІеаsе(); 
} 
re1u1111·est1lts? 1·est1lts . ю,..,s[0]: щ1ІІ; 
І. 
І, 
inodule.expo,1s.get = asy11c (piнa111s, t1sc1·Іcl) => { 
ІеІ \1·ai1sactio11s = 11ull; 
c1111s1 = a,va1. 1 cotiiitSeг,,icc.gctЛ І І І3уUsс1·І<І( t1sc1·l<I); 
accoшlls ас 
іІ"(Апау.іsА~тау(ассош1Іs) && acco11111s.lc11!,!.tl1) { 
74 
4~~ . ЧJtl Y. 22 І ~ J() .f1 J 1 2 - СІІ 
cc,n!-1 ilt'C("IUnlld~ = ntc("lur,1~.mr1r,(s1ce(~11n1 -, ?.CC('11nt.i(I). 
С("ІП!-1 \ "J І UC:.'- = І .J('С("І\І ПІ І d!-); 
cc,n !-1 І !-1011 Dotc. cnd IJntc І - r,;ir11n1~ І І ( : 
1
Jcl qucry = ,gc1 Traп!-Dction1-І3yld ,\rrayQuC't)·; 
ifts1::inDa1c && cndDa1c) f 
qucry +=. ANI) d.:ilc >= S.2 ЛNІ) da1c <-= S3': 
,·а І 11с~ . pu~l1( nc" · IJ.:11c( !-І .1n І)їІІс ) ): 
,·:ilucs.pusl1( nc\\· 1),1 \с( cnd І).11с )): 
: сІ:-с if" (stan 0.11c) І 
qllcry .J-= . ANI) d:itc >= s2·: 
,·:i l11cs.pusl1(І \С\\' D:11C(st:1n 1).:itc )): 
: clsc it· (e11dD:11c) І 
QlJCI)' ➔·= . А 11) d:JІc <с $2 '; 
,·аІ11сs.рш;І1 ( пе\\' І ):нс( е1кfІ)а 1с )): 
со11:,;1 роо І = 11е\\' РооІ( ): 
co11s1 resul1:; = :J\\•11i1 pool.qucr)•(qucry, ,·aluc:;}; 
1rn11:;actio11s = 1·csul1 s. ro,,·s; 
rctum trщ1~:ic1 io11s; 
,,.,  
rnodule.cxpons,1,!t:1 ІЗу І tІ = asyoc id =:;... І 
cons1r ool = 111:\\' І ', 1111/ J; 
cons1 rc1,ult !. - іІ\\'іrЇІ p11ul.(J11c1-y(!;L'I Bylt.J()11a)', Іit.JJ) ; 
rctum rt ~u 1 1 ~.ю,,•11/ (J J; 
І; 
ІІ1щJ11 І с.1:х р,,,1 ~. 1, р1 Іа І е il 'i)'/1 1..' ( \І іІІІ І-, ІtІ..' І Ї ІJІІ , ІІ М' І /1/, 
іІІІ(J\\І Л ррІ уі 11 1:,;' / ГіІ/11,іІ\..' І і І ,11( 'І ІіІ 111,'C.:S 1/ІІС.:) • ' І 
11.:1 Гt:~ 1111 11 = 111111; 
сщ1s1 рооІ - 11с,,1 Ри11І І ); 
75 
... 
482-ЧдТУ. 22 І 819-0 І 12-0 І 
const client = a\\1ait рооІ.соппесt() ; 
11)' { 
a"'ait clieвt.queгy('BEGI№) ; 
if (аІІо,,, Applyi11gT1·ai1sactio11CІ1aпges) { 
a,,,ait 1·e\leгtT1·a 11 sactio11CJ1a11ges( сІіепt ) t1c111sac1 і о 11. id, u se1·Іcl) ; 
a,,,ait applyTi·ai1sactioпCl1aпges(clie11t , t1·a11sactio11, щ;е1·Іd); 
} 
1·esнlts = a\\1ait clie11t.qt1ei-y( 
updateQueгy, 
tгa11sactio11.desc1·iptio11 , t1·ai1sactio11.type, t1·a11sactio11. Г1·0111Accou11tld, 
Іra11sactio11 .aпюu11tFю111, 
tгa11sactio11.t0Accountld , t1·aпsactio11.a111ot111tTo, 11е,,, 
Date(tгa11sactio11 .date) , tгапsасtіоп. ісІ 
); 
a\\1ait clic11t.queгy('COl\11\1JТ') ; 
} catcl1 ( е1тог) { 
a,,1ait clie11t.que1-y('ROLLBACK'); 
} ІіпаІІу f 
сІіепиеІеаsе(); 
геtuгп 1·esults.юws[0]; 
};  
rnodule.expoгts.deleteByld -- asy11c (id , LІ SCJ' /(1) => { 
const рооІ = пеw РооІ(); 
const сІіепt = a,vait pool.co1111ect(); 
І1у { 
сІ\\1а і t clie11t.qL1ery('BEGIN'); 
76 
482-ЧдТУ. 221819-0 І 12-0 І 
a\\1ait гe,1eгtTransactioпCІ,a"n ( • • 
. . ces с 11епt , 1d, t1se1·\d) ; 
a\\1aJt cl1eпt.que1y(deleteByldQ t1e1y, [t.d ]); 
a\\1ait сІ ie1H.qнery('COM t\1 ІТ') ; 
} catcl1 ( eiтor) { 
a\\1ait clieпt .quety('ROLLBЛCK') ; 
tl1r0\\' еп-ог; 
} fi11ally { 
сІіепt.ге\еаsе(); 
} 
}; 
Текст фаіілу serYiccs/нsc,·.js 
const {Р ооІ} = гeqнire('pg') ; 
coпst шd5 = 1·equiгe('111d5'); 
const getUse1·Qнery = ' SELECT * FROM "use1·" 'NHERE етаіІ = $І AND 
pass,i.1ord = $2; ' ; 
const inse,·tUseгQuery = · lNSERT lNTO "useг" ("firstNaшe" , "lastNa111e", ешаіІ , 
pass,voгd) \ 1A LU ES($ J, $2, $3, $4 ); ·; 
111odule.expo11s.registration = async useг => { 
const ,,a\ues = [t1se1·.firstNa111e, useг.lastNaшe, user.e111ail , п-1d5(useг.pass\\1oгd)] ; 
const рооІ = ne,,, РооІ() ; 
const res = a\\,ait pool .qt1eгy(i11ser1U seгQue1y, ,,a)ues); 
retuп1 гes. гo,vs[O] ; 
module.expoгts.gel Use1· = аsупс useг => { 
coпst values = [user.e111ail, 111d5(н seг.pass,1/ord)] ; 
coпst рооІ = 11ew РооІ() ; 
coпst 1·es = a\\,ait pool .cit1e1·y(getUse1·Qt1e1-y, ,,riJties); 
геt11т res.гo,vs[O); 
} ; 
77 
482-ЧдТУ. 221819-0 І 12-0 І 
coost accountSe1·,, ісе == гequ і i·e(' ./accouпt s'); 
Coнst t1·ai1sactionSe1·,,ice == І'С(]uіге(' /t . . 
. 1a i1sact ю11s'); 
module.expoгts.expoгt == asy11c (userld) ==> { 
Іеt accouпts == 8\\'ait accoш1tSet'Vice.getAIIByUscJ"ld(userld); 
Іеt tгa11sactioпs == await tгa11sactio11Se1·,, jce.gct(null , usc,·Іd) ; 
retum { 
accotшts, 
t1·ai1sactioпs, 
};  
}; 
111odule.expo11s.i111po11 == аsупс ( data, use1·Іd) => { 
coпst {a ccouпts, tгa11sactio11s} = data; 
Іеt accouпtsPгomises = accou11ts.map(account => { 
гetuгn пе,1/ Pгo111ise(((гesolve, reject) => { 
if (account.id) { 
accoш1tSeп1ice.getBy Id( account. id, useгld). tl1e11( fetcl1edAccount => { 
if (fetcl1edAccoнnt) { 
accotintService.update(accou11t, userld ).tl1e11(ttpdatedAccoн11t => { 
гesolve( updatedAccouпt ); 
}) .catc/1( е1тог => { 
гeject( еттоr); 
}) ; 
} else { 
accoшitSeгvice.create( {. .. accouпt , t1se1·Іd: 
t1seгld}).tl1en(cгeatedAccount => { 
,·esolve( cгeatedAccouпt); 
}) .catcl1( е1то1· => { 
1·eject( еІТ01·) ; 
}) ; 
78 
.І ...... 
482-ЧдТУ. 221819-0 І 12-0 І 
}) ; 
} else { 
ассош1t Seг,,ice.c,·eate( {. .. ассоu,н, t1se1·Іd: use1·Іd} ).tl1e11( cгeatedAccoш1t 
==> { 
гesolve( cгeatedAccouпt); 
}) .catcl1( епо1· => { 
гeject( епо1'); 
}) ; 
} 
}) ); 
}) ; 
let tгaпsactioпsPгoшises = tгa11sactio11s.111ap(t1·a11sactio11 => { 
returп пе,v Pгomise(((гesoJ,,e, гeject') => { 
if (tгansactioп.id) { 
t1·ansactioпSeгvice.get-Вyld(tra11saction.id).tl1e11(fetcl1edT1·aпsactio11 => { 
if (fetcl1edTгaпsactio11) { 
tгa11sactio11Seгvice. t1pdate( tталsасtіоп, use1·ld, 
false).tl1eп(updatedTгaпsaction => { 
гesolve(updatedTгaпsactioп) ; 
}) .catcl1( е1тог => { 
гeject( епо1·); 
')· 
f ' 
} else { 
ti·aпsactio11Seгvice.cгeate(tгa11sactio11, ttseгld, 
false).tl1e11( cгeatedT1·aпsactio11 => { 
гesolve( cгeai-edT1·ш1sact і оп); 
}) .catcl1( епог => { 
гeject( е1тог); 
}) ; 
} 
79 
4 82.ЧДТУ. 22 1819-0 І 12-0 І 
}) ; 
} еІ е { 
tгап actioпSe,,,ice.c1·eate(tгa 11sactio11 , t1 с1· І сІ , 
false).tJ1eп( сгеаtеdТгап actio11 => { 
1·esol,1e( сгеаtеdТгап •act іо 11 ); 
}) .catcl1 ( е1тоr > { 
гeject( еггог); 
}) ; 
} 
} )); 
}) ; 
returп Ргошіsе.а І/([ ... ассоuпt Pr-o111ises, ... 1,·a11sac!io11sPгomises]); 
}; 
Тс1ест ю1іє11тсь1еої •1 nст111111 11рогра~ 111 
Тс1ест фаіілу logi11 .compoпe 11 t. t s 
import {Co111po11ent} fгот '@а11guІ аг/соге'; 
і111ро11 {Use1"} fтот " . ./. . l../. . /models/useг .mocl e l "; 
import {Not ificatio11} fгот ' . ./.  ./../. . /models/11otifica tio11 .111odel'; 
import {AutJ101izatioпSeГ\1ice} Гго111 
". . /. . /seгvi ces/au t/1O l'iza t і 011/а u tlю ,iza ti ол .seгv i се " ; 
import {Routeг} rгшn "@a11gL1laг/гouteг" ; 
import {Noti ricatioлSe1·vi ce} fго111 
". . /. . /. . /11oti rication/scгvices/пoti fi ca tio11/11o!i ricat і ол .tю1 ·,, і се"; 
@Compone11t( { 
seiecto1·: 'арр-Іоgіп', 
templateUгJ : './logi11.co111po11e11t.l1t111J', 
styleUгl s : ('./logi11.co111poпcnt.scss'J 
}) 
ехрогt class l..,ogi11Co111po11eni { 
Pub/ic t1seг: Useг = ,Useг> {}; 
80 
482. чдтУ. 2218 І 9-О І 12-0 І 
con Sii·uct·oг(pгi,,ate 1·oute1·: Routei·,  
ргі,1аtе autl1oгizatio11Se1,,jcc· А tl . . . 
· tІ 1or1zatю11Se1·v1cc 
IJ1·i,1ate пotificatio11Se1,,jce· Not,·fi . S . ' 
· 1саtю11 сгv1сс) { 
} 
public 011LogiпBt1tto11Click(): void { 
tliis.autlюгiza t іо11Sе1,,ісе. Іо gіп(t l1i s. useг).s11 bsc,·ibc( uscr => І 
if (use1") { 
tl1 і s. юut ег. па,,j ga t е(('/1 1 о ІНе-ассоu 11t і 11g ']). cn t сІ1( со 11s0 І с.егюг) ; 
} 
} , еггог ==> { 
tl1is.notif icatio11Se1·,,ice.sl10,,1E1тoг(11e,,, Noti ficatio11( {1 11cssage: 'Невір11а 
електронна пошта та/або пароль'})) 
} ); 
} 
Текст фаіілу logi11.coшpo11c11t.lJtшl 
<di,, class= 1'logiп_logi11-fom1 11> 
<115 class="login-form_title11> Домашня бухrалтерія</115> 
<di,1 class="foг111-group11> 
<ІаЬе] fог=11 еn1аіІ 11>Електро1-11-1а адреса</ІаЬеІ> 
<input type=,'en1ai111 class=="fo11п-coпti-ol11 icl="c111ail'r 
[(пgModel)]="useг.eшai І"> 
<ldi,1> 
<d . 1v class="form-gгoL1p rr > 
<ІаЬеІ fOJ·="passwoгd">Пapoль</lribcl> 
<1. nput type="passwoгd" class= " f-oi .1 11 -co11t1·0/" i(l=11p11sS\\'Ol'<l11 
[(l)gModeJ)]='1use1·.passwo1·cl 11> 
"/div> 
"Ь utton class=1'bt11 Ьt11-р1·1.1 11аІ')' " 
(click)==="o11LoginButto11CI ick()"> у ві Лт~ i</l)ll\ ІОІl> 
81 
4 82 .ЧДТУ. 22 1819-0 1 12-0 1 
<:Ьu1 ІОІ\ clnss="b1І\ btrH iнk logi11- Гo11н_rcgi stп1 t io11-b111ton" 
rot1tcrLi 11k = "/1·cgis t 1·а1 і 0 11 "> Рссстрn 1 tія<ІЬ\11 Іо ІІ> 
<:Jdi,•> 
Тс8'ст фаііJ1у 1·cgist1·ntlo11.co111po11c111.1s 
iiiipoi1 {Сотро11с111 } ГІ'Оm '@n11g11lni'/coi·c'; 
iпiport {А  нІ lюгiz:tt io11Scf\1icc} Г1·0,~) 
,, ..І../se1,1 iccslr1t1t Ію,·і zat i()11/a t11 І101·і znt іо 11 .scl'\,icc"; 
ітро11 {U sc1·} Ггот ". . /. . /. . /. . /111o(lcls/uscr.111odel"; 
import { Rоше1·} Г1·0 111 "@a11gu l,н·/І'Outc1·"; 
import {Not ifica 1io11Seгvice} Ггот 
". . /../../110І і ficc1tio11/sc1·viccs/1101 і fі с,:н іо11/1101і fica\ іо11 .service"; 
і111ро1·1 {Nol і fi ca1io11 } ГІ'О1п ' .. / .. / .. І .. ІтщІе Іs/ 110 І і Іі сn І іо 11 . 1110сІ с І '; 
@Co111po11c11t( { 
sclcctor: 'c1 pp-regis11·a1io11', 
teniplateUrl: './1·egis11·a1i 011 .со111ро11с111.І111111', 
styleUrls: r •лcgistпнio11 .co111po11eпt .scss'] 
}} 
схро11 class l~egis11·c1tio11Co111ponc111 { 
р11Ь Ііс uscr·: User· = <Use1·> {}; 
со11stп1сtог(ргі,,щс l'Olllc1·: І~о11Іс1·, 
r,1·i ,1n1c ш1І lюr·i z.11 io11 Sc1·\'icc: Лн1Ію1·iznt i 0t1Se 1·,, j<.·c , 
pr·i, 1.itc 1101 ifical іо 11 Seгvicc: Nol і ficnl io11S1.:1·vі сс) { 
J)t1blic 011І~сgіs11·,11сВ11ІІ011С Іі сk(): ,,о і <І { 
t l1is .atr1Ію 1·iza1io11Sc1·vict:.1·cgis11111іо11(111 is.11sc1·) .st1 \)s1.:1·ib...:( О => { 
tl1is.1101 і Іісс11 ioiiSei·vic c.slю,,.,,S1 1cccss( 11С \\' Nol і Ііс 111 і о І\ ( {І 11 l'SS:l!:!,C: 'Р~сстр1щі )\ 
ІІроfі111щ:~ ус 11і1111ю'})); 
ІІ~ is. 1·ot1 Іс1 ·.1щ ,, і galc( І'/' J); 
},  с1то1· => { 
S2 
482.ЧДТУ. 22 1819-0 1 12-0 1 
t l1i s.11ot і fic.it іо11SсГ\1ісс.sІю\\' Еттог( нс,v Notі  fic.il іон( f mcssngc: 'П іл час 
ресстр:щії DІІІ!ІІКЛ:З llOMIIЛKn'} )); 
1І1го,,1 е1тог; 
} ); 
} 
public isRcgistratcBut1011Disablc(): ЬооІс.111 { 
rctum !(tl1is.user. fiгstNa 111c && tl1i s.нsc 1·. fi1·s1Nn111c. lc 11g1І1 >= 3) 
11 !(tl1is.user.lastN:н11e && tl1i s . t1scr. last№11пc. lc11g1І1 >= 3) 
11 !(tl1is.user.e111ail && tl1is. t1sc1·.c111ai l.lc11gt l1 >= 5) 
11 !(tl1is.use1·.pass\\1ord && tl1is . вsc ,·.pnss"'o 1·d.le11g1І1 >= 6); 
} 
} 
Тс8'ст фаіілу 1·cgisr1·ario11 .co1щ>o11c11(.l1tшl 
<di,1 cl3ss="1·egistrat ion_ ,·cgist п11 іо ,1-rопп "> 
<115 class="rcgistratio11-foп11_title"> Доr-1а ш11я бухгалтерія </115> 
<di,1 class="fo пn-group"> 
<ІаЬеІ rOJ-=" fir·stNanie">lм 'я</ labc l> 
<i11pt1t typc="text" class=" ror-n1-co,нr-ol" і сІ=" Пr·st Namc" 
[(11gModcl )]="user. fi rst Na111e"> 
</div> 
<di,1 class="Гor111-group"> 
<ІаЬс І fo1-="l:is1Na111e">Пpiз n11шe</lc1bc l > 
< іпрuІ type="tex t" c/ass=" Гопп-сопt юІ" і<І= " Іаs І Name" 
[( ngMо сІсІ) J="u scг. la sl Nа rпс"> 
<l<liv> 
<div class="Гorm-g.-oup"> 
<lalJcl Го1-="етаіІ">Електро1111л щ1рсс11</Іа ІJс І> 
<iflptrl Іурс="ста іІ" class="roпп -co111 1·o l" і< І= '\:11111і І " 
[( 11gMoclcl) ]="t1se1·.e111a і І ''> 
<І<І і,,> 
83 
4 82.ЧДТУ. 22 І R І 9-О І 12-01 
<di,1 class=" fonн-group"> 
<ІаЬе І fo 1="pass\\1ord "> ll apoлi,</ l abc l> 
<.t npu І І уре= " J><ІSS\\'o t·cl" cl:.1ss="fo11н-co 1 11 ro l " id="p.iss,vord" 
[(11gModel)]="user.pass\\•01·d"> 
</di,•> 
<but1011 
class="bш btп-prirпary" 
(c lick)="o11Registrn1eІ3 t1t10 11CI ick()" 
[attr.disabledJ="isRegistrnteButtonDisable()? 'disnbled' : щ1ІІ "> 
Зареєструвап1с1, 
</Ьut1O11> 
<butto11 class="btн bt11-Ii 11k 1·eg istra t ioн-fo11n_registпнio11 -bu t 1011" 
route1·Li11k="/"> У ві І1т11 </Ьt1Но11> 
Тс,~ст фаІілу autl101·ization.sc1·yicc.ts 
import {lnjectable } fго111 '@a11gt1lar/co1·e'; 
ішро11 {HttpClient } r,·0111 "@а11gоІаг/со111111011Лнtр"; 
import {ОЬsеп1аЬІе} rго111 "1·xjs"; 
import {U seг} rго111 ".  ./ . ./. ./. ./111odels/LІ ser. 111odel "; 
imporl {Route1·, Na,1 i gat io11S t aгt , Rot1 tcrГ:,1e1H } fго111 "@a11gt1l,н/юt1te 1·"; 
impo11 {f ilte,·, tap} t'го 111 "гxjs/opcrato rs''; 
@lnjeclable( { 
providedlп : 'юоІ ' 
}) 
cxpon class At1Іl10 1·i za 1i o 11Sc1·,, icc { 
privatc use,·: Usc1· = 111111; 
cons1ructoi·(p,·i,,a1c І i ttpC l ie111: Н1 1 рСІ іе 111 , p1·i va1e І"Ot1t e 1·: Rot1 1c1·) І 
rotl\er.c,,erits.pipc( Гr 1 1 с 1·( е,,с11І => с,1е1Н i11s1ai1ccof №l\1 iga 1 io11S tшl)) 
.subsc1·ibe((c,,c11i: І~m1Іс1·Е,, с11t) => { 
і f ( eve111 . ш·І .sta1·1s \ \1it 11( '/ Ію111е-ассоt111Іі11 g')) { 
S4 
482· ЧДТУ. 22 І 819-0 І 12-0 І 
tl1is.getUser().subscгibc(tJ sc,· ==> { 
if(!нse1') { 
гоu t е1·.11а ,, і gate(('/')); 
} 
}) ; 
} else і f ( e,,eпt.t1rl .startsWitl1('/') 11 e,,e,1 t .шl .sta1·ts\1/i 1І1('/i-eg istп1tion')) { 
tl1is.getUse1·().subscribe(t1se,· ==> { 
іf(нsег) { 
1·oute1·.11a,,igate(['/l10111e-accou 111 і пg')); 
} 
}) ; 
} 
} ); 
} 
public гegist1·ation(useг: Use,-): Obse1"Vable<Useг> { 
геtuп1 tl1is.l1ttpClient.post <Use,·>('/api/registг аtіоп ', use1') ; 
} 
роЬІіс Іоgіп (LІsег: Useг): Obseг,1able<User> { 
rett1111 tl1is.l1ttpClieпt.post<Use1·>('/api/l ogi 11', t1se1') 
.ріре( 
lap(use,· => tl1is.user = user) 
); 
} 
р11ЬІіс logoLІt(): Obseп1able<void> { 
rett1111 Іl1is.l1ttpClient.get<void>('/api/logot1t ').pipe( 
Іар(() => { 
tl1is.user = 11L1II ; 
}) , 
) 
85 
--
4 82· ЧдТУ . 22 1 8 19-О І 12-01 
ptibl ic getUse,·(): ObscГ\• ::ib l c<Uscг> { 
I-ettIn1 Obse1,, ;:ib le .cгeatc(obscГ\'c r· => { 
if (tl1 is. tJseг) { 
оЬsеГ\1е1·. пех t ( t І1 і s. нser) ; 
оЬsСГ\1ег.со111рІеtе(); 
} else { 
tl1i s. l11tpClien1.get('/ai)i/use,·') "ubsc ·· ь ((
• . ., ' 1 е t IseI·: User) => { 
if (user) { 
tl1is. u ser = useг'  
} else { 
tl1i s.useг = 11ull; 
} 
obseг,1er.11ex t( tJ1 is. use1·); 
observer.coinplete(); 
}) ; 
} 
}) 
Тс~сст фМілу accotшts.coшponcnf·.( s 
import {Component, Oпln i t , \Ііе\\1СІ1і Іd , TemplateRcf} І'ют '@апgнІш-/со 1·е'; 
import { User AccotJn\ } fi·om " .. /.  ./mocle l s/нse 1·-acco1111t .model 11
; 
import { User Accott1 1S e1·,, ісе } П·от " . .І. ./sc 1·,, ices/u se1·-accot1111/нse1·­
account.seгv ісе11 ; 
і 1прог1 {NgbModal} fго111 "@ 11g-boo1s1п1p/11g-boo1st п1p"; 
impo11 { Notificatio11Sel'"\1 юce} rют 
". . ! .. /. . /110tificatio11/seг,, ices/1 101 і /i ca t io 11/1юt i /icatiol) .sc1·,,jce"; 
11
іmрог1 { Noti ficat іо11 } r,-0111 " . .І. .І. .І. ./111odcls/110t і licat і о 11. moclel ; 
і111ро11 { types, ct1iтei,c i cs} rгпт 11 
.. / • ./сІеІі 11 і І io11s/11se1·-ricco1111I . сІ сІі 11 it іо 11 "; 
@Сотропепt( { 
Sб 
.... 
482-ЧДТУ. 221819-01 12-01 
selectoI·: 'app-accou11t', 
teiнplateU 1·І: ' ./accoш1ts.compoi,c111 _1н тІ', 
styleUi-ls: [' ./.iccoннts.compo11eIн.scss'] 
}) 
export class Accou11tsCompoнc11t implcщe11ts О11Іні1 { 
@\' іс\\'СІ1і ld('.iccot1 ІН DeleteModnl') р1·і,,а1е nссщIIН DclctcMocla І: 
TeJ))plateRef< а11у>; 
public accou11ts: Use1·Accou1н[] = []; 
рuІ,Ііс accou11t: Usei-Accotll)\ = I1 uІІ ; 
coпst1·ucto1·(p1·i"ate 1пodalSe1·vice: NgbModnl, 
p1·i,1nte t1se1·Accotll)\Sc1·vicc: Usc1-Acco1111tSe,·vice 
' 
p1·i,1ate 1юІі ficat io11Se1·vice: Not і licatio11Seг,,ice) { 
} 
пgОп І11іt() { 
1l1is.usei-Accoш11Se1·,, ice.getAI l() .subscгibc(c1cco1111 ts => { 
1l1is.accou11ts = accou11ts; 
}) ; 
} 
pt1blic ope11Accot111tDeleteMoclal(nccoш11: Use1·Accot111t): ,,оісІ { 
Іl1is.accou11t = ассош1t; 
tl1i s.n10da l Sег,1 і ce.ope11(tl1 і s.accour1t l)elcteModa І). I·es1I l t.1 l1c11( () => { 
Il1is.use1·Accoш11Seгv ice.deleteByld( accotIпt . i<l).s11bsc1·i Ьс( () => { 
tl1is.acco11111s = tl1is.accotmts.lilte1·(accoш1 I => ассоо,11.ісІ !== tl1is.accot11t1.i<I); 
tl1is.accoш1t = 11ull; 
} , еIтоI· => { 
tl1is.110ti ficatioпSe1·,,ice.sI10,~1 Eпo1·( <Noti fica1io11> І 111cssagc: 'Не вдnлос1, 
ВІІдаJІІІ'ПІ раху1ю1<'}) 
ІІ1і s.ассош1t = 1шІІ; 
tlml\v СІТОІ'; 
І )· 
J ' 
87 
482 -ЧдТУ. 22181 9-О І 12-0 1 
}, о=> { 
1І1і s .ассош1t = щ1ІІ ; 
} ); 
} 
public getAccou11tType№meByld(id : 11umbci') { 
const type = types.find(item => і1е~н . і<І == id); 
retun1 type? type.name : 'І-ІеоідоJ\11111 п 111 раху,~ ку'; 
public gctAccou11tCurгe11cyNa111eByld(id: 11umbei·) { 
coпst cuп·ency = cuпencies.lind(i te111 => item.id = id); 
retum сuпепсу ? сuпепсу.вате : 'Невідома валюта рахунку'; 
Тс8'СТ фаіі.r1у acco11nts.coшpo11cnt.l1tml 
<di,1 class="card"> 
<di,1 class="ca1·d-l1eader"> 
<115 class="cai·d-title"> Раху в ки</h5> 
</div> 
<di,, class="card-body"> 
<buttoп type="bl1tton" 
class="btn bln-sllccess accou111s_ c1·ea1e-accoun1-bu1to11" 
юнteг[j11k="/l10me-acco11111i11g/accou11t s/c1·ea1e"> 
<і class="Гas ra-pll1s"></i> Стrзор11п1 рахуно1< 
</Ьuttoп> 
<div *пgІ Г'-" !accouпts.le11g1І1 " class="accoш1ts_1ю-accoun1s-messagc"> У Вас 
ще 11с створено жодного раху111су</сІі,,> 
<table *пglf="accoш11s.leпgt l1" class="ta l,Іe t.ible-sni ІаЬІе-І10,1е1·"> 
<thead> 
<tr> 
<111 scope="col "> І r-.1'я </t 11> 
482. ЧДТУ. 22 І S1 9-0 І 12-0 І 
<tl1 scope="col">T11n </tl1> 
<111 sсоре="соІ">Валют:1</11 1> 
<tl1 sсоре="соІ">Бащщс</tІ1> 
<tl1 scope="co І" сІ ass="accoшнs- t.i ЬІе_ассошн. ЬuІ І 0 11 -соІ u11111 "></1І ~> 
</t1·> 
</tl1ead> 
<tbody> 
<11· *11gFoг-"let ассоuпІ or accou11ts"> 
<td>{ {accouпt.name} }<ltd> 
<td> { {getAccouпІTypeNameByld( ассош1\.1 уре)}} </td> 
<Іd> { {getAccou11tCuiтe11cyNameByld(t1ccol1111 .cu п·e11cy)}} </td> 
<td>{ {accotmt.bala11ce} }</td> 
<td> 
<di,, class="btn-group" rоІе="gюнр" ,нia-label="Bt1sic ех<1111рІе"> 
<bullon type="bнttoн" class="bln bt11-seco11daгy b111-sm" 
rou1erLi11k="Лю111e-accotmting/accou11ts/edit/ { {accou111.id} }" > 
<і class="Cas fa-pe11cil-al1"></i> 
</Ьu\lon> 
<buttor1 type="bullon" class="btп bt11-da11ge1· b111-s111" 
(c lick )="opc11Accou 111 Delet eModal( accot1111) "> 
<і class="far· fa-t1·asl1-a І t 11 ><1 1· > 
</l)lltl011> 
</Іd> 
</tbody> 
</1аЬІе> 
</di,,> 
<ldi,1> 
<ng-1e111pln1e #ac<.:ot1111DeleteModal Іе1-111оdаІ> 
89 
482 -ЧДl")'. 221319-0 І 12-0 І 
<dj,, clnss="modnl-lн~ader"> 
<h5 c\nss="modnl-title" id--"т о d nІ  -ь ns1·c -11·t lc">І3 1щnТJc1111я раху11ку</І15> 
<buttoп type="button" clas''s ="clos, e" (сІ,· С k•)  ="  1110 d П I . d'I Sl111.S S ()"> 
<span>&t i mes:</span> 
</Ьutton> 
<Іdі,•> 
<di,• class=''modal-body"> 
В1tдзл1m, рахунок " { {a ccount.naшe}) "? 
</di,•> 
<di,• class="modaJ-footer"> 
<buнon type=''button" class="btn btn-daпger" 
(click)="modal.closeQ1'>Bидaл1п11</Ьu1ton> 
<Ьutton type="button" class="bln btn-secondaгy" пgbAutorocos 
(c lick)=" moda l .di sm і ssQ''> Зак. ри111 </Ьut ton> 
</div> 
</ng-template> 
Текст файл)' dasl1board.compone11t.ts 
import {Component, Onlnit} from '@angular/core'; 
impor1 {TransaclionService} from " .. /.  ./seГ\1 ices/t1·a11sacti on/tгansact іо 11 .SеГ\1 ісе"; 
import {Transaction, UserAccouпt} Ітоm ".  ./../model /u e1·-accoш1t.111odel "; 
import {type as tтansactio11Type, types as transactio11Types} fі·ош 
". . /../definitions/transaclioп .defi 11 і tion "; 
import {UserAccouпtService} fгот ".  ./. . /se1-,,•ices/use1·-accot111 І /t1 e1·-
account.service"; 
import {c uпencies} from ".  ./. . /defiп i І ions/uscr-accou11t.defi 11 і L іоп "; 
import {TransaclionFi lte1·Ser,1ice} r,·oin ". . /../se1Yices/tп111sac t ion-fi lter/t1·a11sact io11-
Гilter.service"· 
' 
import {Cl1artDataSets} r.·om "cl1ar·t.js"; 
import {СоІог, Label} from "11g2-clн1rts": 
const groupBy = key > ar,·ay > 
90 
482-ЧдТУ. 221819-О І 12-01 
aiтay.rcduce( (o bjcctsB уКеу\1 аІ lie, obj) => { 
const ,,alue = obj[key) ; 
objectsІ3yKey\'alue[,,31l1c] == (objec1sІ3yKcy\'nluc[,, :ilнe] 11 (]).co11c:11(obj); 
rctun1 objectsByKey\' altie; 
}' {} ); 
co11st fullMol)tl,Namc == f'Сі•1е11ь', 'Л10т11іі', 'Gерсзс111.', 'Коітен1,', 'Трnоен1,', 
'Черве11ь', 'Л11пе11ь' , 'Серпень', 'Bepecc-i-11.,', 
'Жооте11ь', 'Л11стопад', 'Груде111,'] ; 
@Compone11t( { 
seleclor: 'app-dasl1board', 
1e111plateU rl: './dasl1boai·d.co111po11e11t.l1t111l', 
styleU1·Іs: ['./dasl1boa 1·d .coшpoпe111.scss'] 
І) 
export class Dasl1boardC0111po11e111 i111ple111e111s ОпІпіt { 
public 1·еаdопІу traпsact іо11Туре = t1·a11sactioп Туре; 
public readoпly tгш1sасІіо11'Гуреs = ІгaпsactionTypes; 
public геаdопІу cuпe11cies = сштепсіеs; 
public cos1Tra11sactio11sDataSet: Cl1ai·1DataSets[) = [); 
рнЬІіс ІіпеСІшгІDаtа: Cl1artDataSetsO = []; 
pt1blic lineCl1ai1Labels: J_abel(] = [); 
public liпeCl1ar1Colo1·s : Color[] = [ 
{ // g1·ey 
Ьасkgюш1СІСоІог: 'rgba( 148, 159, 177,0.2)', 
Ьо1·dе1·СоІог: '1·gba( І 48, І 59,177, І)', 
pointBackgюu11dColo1·: '1·gba( І 48, 159, 177, 1) ', 
poi111801·der·Colo1·: '#П"f', 
point Ho,1erBackgгou11dC0l01·: '#ГП', 
роі11tІ-Іо,,е,ВоrсІегСоІог: 'гgЬа( 148,159, І 77,О.S)' 
}' 
91 
4 82 .чдn,. 22 1RI9-0 1 12-01 
bnckgroш1dCol () r: 'r·gb;i( 77 .83,9 6_ _ )'. 
0 2
borderColo1·: 'гgЬа(77,S3.9б, 1) ', 
роі111 B:ickgrour1dColoг: 'rgb:1( 77,R3_96_1 ) ', 
poi111 І3orde 1-Coloc '#ffi', 
po i 111 Ho,•cr[З::1ckgrour1dColo1·: '#rrr. 
poi111Ho,•erBorderColor: 'rgb:i(77,Rз.96 , 1) ' 
}.  
{ // rcd 
backgroundColor: 'r·gba(255,0,0,0.J )', 
borderColor: 'red', 
poi111Backgrou 11dColoc 'гgЬа( 148, І 59, І 77, І )', 
poi11 1IЗ01·de 1-Color: '#rrr·, 
poin1Ho,1e1·Backg1·ou11dColo1·: ·11 rrr, 
poi 11tl ·Іo,1crB()f·derColo 1·: '1·gba( 148, 159, I77.0.S)' 
} 
]; 
public li11eCl1artLcgc11d = tr·uc; 
р11Ь Ііс l i11eCl1artType = ' І і 11 е' ; 
public accounts: Usc1-Accou111[] = []; 
р11/)Ііс I1·ansac1ioпs: Tп111sac1 iu11[] = []; 
constп1c1or(priva1c user Лссоu 111 Sc,·,,ice: User Acco11111Sc1·,, і се, 
р,·і vale І 1·a11sac1i o11Se,·vicc: T11111sac1i o11Sc1·,, і сс , 
р,·і ,,ate 11·,шsact іо 11 І~ї I І<.:1 ·Sc1·,, jcc: T1·a11sact i u 1 1 I-;- і I І t: 1·S1.:1·,1 icc) { 
public 11gOnl11it() { 
Іl1 i s.tгa 11sac1 ionFi І 1c1·Ser,,ice.sI ш·І DateП 11с 1·СІ1ан~с . s11 l)sc,·i Ьс(() => { 
1/1  і s.i,1 it і а І і zeDas/1 В оа пІ Оа tn(); 
І) ; 
tl1is.1rar1sact ion Fi І ІегSеп, ісе.с11(І Oalcri І І <.: 1 ·С І1 н 111,;<.:.s 1 1 Ьsс 1· і Іх:(() => І 
tli is. і 11і І і а І izcDasl1В  оа rd Оа !а ( ); 
()? 
4 S2 .ЧДТУ. 22\R\l).QJ 12-01 
}) ; 
1t,is.i11i1ia lizeDasl1BoardDota() ; 
} 
public fonnatBalaлce(): s11·iнg { 
if(!Aпay. isAгray(tl1i s.accounts) 11 !tl1is.accouнts.lc11gtl1) { 
retum 'Раху11к11 не знайдено'· 
' 
coвst accou11tsGroupedByCнпe11cy = gющ>Ву('сште11су')(ІІ1іs.ассоt111t s); 
coпst groupedAccotmts = Object.keys(nccot1n1sGrot1pedByCштe11cy).111ap(key 
=> accou11tsG.-oupedByCu rr·e11cy[key )); 
const ЬаІа11се = groupedAccoшнs.map(iten-.s => ite111s.re(luce((p1·e,1 , сшт) => { 
pre\1.cur,·e11cy = cuпe11cies.find(ite111 => ite111.id = сшт.сопе11су).11а111е; 
рrе\1.ЬаІапсе = рге,1.ЬаІапсе + ct1.-r.bala11ce; 
retum pre,1 ; 
}, {ЬаІапсе: О})); 
retu111 balance. map(ite111 => item.bala11ce + '' + іtеш.сште11су).jоіn(', '); 
public forn1all11co111e(): string { 
if (!tl1is.l1-a11sactions) { 
геtuп1 'Дохід вілсутній'; 
} 
const 1ra11s:actio11s = 1l1is.tra11sac1ions.filte1·(ite111 => і1е111.Іуре === 
tгansactioпTypc.i псоте. id); 
co11sr traпsactioпsGrot1pedByCt11тe11cy = g1·oupBy('ct11тe11cy')(11·a11sac1 io11s ); 
const gюupeclTra11sactio11s = 
0bject.keys(tп111sactio11sGroopedByCurre11cy).111ap(key => 
transactionsG 1·ouped 13 yCu rr·ency [key ]); 
const 1· nco111e = gгot1 реd 'Г 1•,a пsact ions · n1ap(ite111s => ite111s.r·cclt1ce((p1·c,,, с11п) => 
93 
... 
4 S2 .ЧДТУ. 221S19-ОІ 12-01 
рге,, .сштсосу = cштc11cies.li11d(ilcm => іІст.іtі = 1І, i s. :icc ot111І s. li 1нl(i1c111 => 
i1c111.id = cuг.-.fro111Лccourнld).cun·c11cy) . 11a111c; 
рге,• .і11со 111с = р1·с ,• . і11со111с + curr .•m юuiitl: r()m·,  
}, {inco111e: О})) ; 
retum Arrny.isArr::iy(incoinc) && і11сотс . Іспg1 І1 ? і11с()111с. 111ар(і1с111 => 
j1e111. inco1пe + '' + iteш .currc11cy) .joi 11(', '): 'Дохід 13ідсутні і1': 
} 
public [omJatCost(): stri11g { 
if (!1І1is.1ra11sac1ioпs) { 
1·ctum 'В1прат11 nідсут11і '; 
} 
co11s1 tra11sac1ions = 1l1i s. tra11sзct ions.fi lter(iten1 => ite111.1ype = 
transactionType.cost.id); 
const transactio11sGroupedByCurre11cy = groupBy('currency')(1111nsactio11s); 
co11s1 groupedTransactio11s = 
Objcc1.kcys(1ra 11sactionsGroupedByCu1тe11cy).map(key => 
1ra.11sac1io11sGroupcd В yCu 1те11су[ key )); 
const cost = gюupedTra11sac t io1 1s.111ap(i1c111s => i te111s.1·edt1ce((1нc,1, сuп) => { 
рге,•.сште11су = cu1тencies. find(i1e111 => i1 c111.id = 1l1is.,кcoL1111 s . fi11d ( i1em => 
itcin.id = cu rr.fron1Account ld).curre11cy).n:ime; 
prc,•.cost = p1·e,,.cost + cu1т.a inoш11From; 
ГСІUІ11 ргеv; 
\, {соsІ : О})); 
re1um Array . i sArтay(cost) && cost.leng1l1 ? соs 1 . 111 ар(і1с1н => item.cosl + '' + 
i1e111.cuпc11cy).joi11(', ') : 'В11трат11 nідсут11 і'; 
public getOu1coiлeClнirtLabels(s(ш·1D,11e: І)а1с, с1нІІ),11 с: Оа1 с): Label (] { 
co11s1 l,1L)els: LаЬеІО = [); 
co11st cuпcпtDate = 11e,v Date(s1 ar1Dntc.1,;e1Ti1щ;()) ; 
...... - ,_,.,._;::~- -- . ---- . 
4 82 ,ЧДТУ. 221819-О І 12-01 
"•І1іІе (cttrreпtDate <= codDate) { 
consl dn у = сштс1н D~11 е Q I о • 
·-е at e() . 10Stп11g() . lc11gtl1 = І ? 
·oS{cu,тentDate.c-.etD:нe() } · •·  ., . 
сurт1.: 1н 0 a1e.gc1 Dntc().10S11·111g(); 
І coпst пюпtІ1 = (с штеnt Date ·-ц_еtМо,,,, 1 1( ) ➔·  1). tos,  tr·11 1g( ) . І c11gt І 1 = І •.)  
·oS{(curre,нDate.getMoi,1l1() + І) }· : ct1rrc111 Dnte.gc1Mo11tl1().t0Stri11g(); 
labels.pusl1( · $ { day}. $ {1 1юп111 } · ); 
currentD:нe .setDatc( сt11те111 D:нe .ge1 Оте() + 1) ; 
} 
retum labels; 
} 
public getOu1comeCl1a11 DatзScts(nccotш!s: Use1·Accot1пt[) , 1,·a11sact io11s: 
Tг.insactioп[], startDate: Date, eпd Date: Date): ClщrtDataSets[J { 
const dates: Date0 = О ; 
const сштспtОаtе = 11е\\' Date(startDate.getTime()); 
,v/iile (curreпtDate <= cndDate) { 
dates.pt1sl1(11e" ' Datc(c uпcntDate.get Ті 111е())); 
currentDate.setDate(cштe11tDa1e.ge1Date() + І); 
} 
rctum accoun1s.111ap(accoш11 => { 
const accot1ntT1·aпsactio 11s = tra11sact ioпs . fil1er(11·ш1sactio11 => { 
return 11·ansaclio11 .1,·omAccouпtld = accouпt.id && t11111sactio11.typc = 
Іransact ionType. і псо111с. id; 
} ); 
consl data = dates. 111ар( date => { 
І let 1·esult = da1e.ge1Ti111c() > (11е"' Date{)).ge1Ti111e()? rн1ІІ : О ; 
const tпinsactions = accoLІntT1·m1s;:ictio11s.filter(accoш1tTг:msactio11 => { 
coпst ti·ansact іол])аtе = пе"' Date(accoш11T1·ai1sactio11 .datc); 
ге1u 111 1гar1sac1 ion Da1e.ge1f\1 11 У саг() ==== date.get ГuІІУеаг() 
&& 11·ansactio11 /)c1tc.getM011tl1() = date.getM011tl1() 
&& t1·a11sactio11D.11e.gct /)atc() ====== date.get Date(); 
482.ЧДТУ. 221S19-ОІ 12-01 
} ): 
ir(tг.111 sac 1io 11s.le 11g1 l1) { 
result = t г.msactio11s .reduce((prc,,, с 11 гr) => prc,• + c11rr.a11101111tJ7ю111, О) 
} 
returп result: 
} ); 
retum { 
data, 
ІаЬеІ: accoun1.11a111c + '' + curi·e11cies. fi11d(curre11cy => c11rrcncy. id = 
:iccou11t .curre11cy) . 11amc 
} 
} ); 
} 
public getC0s1Cl1artDa1aSe1s(accou111s: Use,·AccouпtO , tra11s,1ctioнs: 
Tra11sac1io110, stanDate: Date, eпdDate: Date): Cl1anDa1aSetsO { 
co11st dates: Date[] = [J; 
co11s1c urreпtDate = пе,11 Date(stanDate.getTinie()); 
11•І1іІе (cuп·e111Date <= endDate) { 
da1cs.pusl1(11e\\1 Date( cu rre111Date.ge1Ti me())); 
cu1тcn1Da1e.se1Da1e( ct1rremDa1e.ge1D,нe() + І ); 
rct11m accou111s.rпap(accoun1 => { 
co11s1 acco1шtT1·a11sac1 ions = t1·a11sac1io11s. ti І 1c1·(t 1·a11s,1c1 іо11 => І 
re111m transac1ion.rгomAccoun 1/ d = acco1J1JІ.i< I && tr,111s.ic1io11.1ypc = 
transac1io11Type.cos1 .id; 
}) ; 
co11s1 dala = clatcs.map(date => { 
lct гсs11ІІ = da1c.ge1Ti111e() > (11С\\1 Da1e()).gc1Ti111c()? ІНІІІ : О; 
co11st I г;)lls;ict ions = accou11tT1,J11sactio11s. fi І 1 с,·(а сс()1 1111Тп111sас1 іо11 => { 
coнst tr·ai,sactioпDate = 11e,v Date(acco1111tT1·a11sac1i o11 .<la1l:); 
96 
L 
,., І 
4 82 . ЧЛ.ТУ. 22 1 ~ 1 9-О І 12-01 
rc1uп1 11u11.-::.ictio11Datc.oc1 J:ullYc" ·І ) 
е, .. , \ = t,iJ. 1tc.gct 1·· u 11"' () 
1 саг 
&& tr.111 sactior1Dntc .gctM0111І1() = d::i tc.gctM()11tl1() 
&& tr.1n:-actio11 D:it c.gct O:itc() d:itc.gct J);-;tc(): 
І): 
ir (trans:ict io11s.l c11gt.l1) І 
rcsult = tra11sactio 11s.rcduce((pгc\• . сшт) => pr·c,• + сurг.анюш1tГ-го111 . О) 
} 
rc1un1 rcsu lt; 
} ); 
retum ! 
data, 
ІаЬеІ : account.пame + •' + с11пе11 сіеs.Іі11d(сштс11су => curтe11cy . id = 
account.currency).name 
І 
( 
} ); 
} 
pri,1a1e ini1ializeDasl1BoardDa1a(): \'Oid { 
1l1is.userAccou111Servicc.getAll{).sobscribe(accou1нs => І 
tl1is.accounts = accou11ts; 
tl1is.1rn11sac1 io11Ser,, icc.get ( 
1І1is.tra11sac1io11 Fi І ІсгSеп• і сс .s11111 Dа1сГі І І с1·, 
tl1is.Іransac1 і оп Fi lt crScr·,1icc.c11d DatcГ-i І І~,· 
).subscribc(11·a11s11c1io11s => { 
1І1іs. 11·a,1sac1 іот; = І .-а,1 :">а<.:І і онs; 
1І1is.li11cCl1ar·t Cabcls = 
tl1is.ge10u1con1cCl1a11 J_abcls(I l1i s.t1 ·:1 mmct і оп 17і l 1e1·Sc1"' ice.s1:11·1 D[Jfc l; i ltcr·. 
ІІ1іs.Іrалsас1 ion Fi І 1erSc1·vi сс.сrнІ DаІсП ІІ с,·) ; 
1І1іs.ІілеСІ1а1·1 Data = 111i s.gct О111со111сСІ1ш1 /)aІrtScl s( 
3ССОІJП(S, 
Іra11sactio11s, 
97 
4 s2 .ЧдТУ. 22І S І 9-О І 12-01 
tl1is.1r.111sac1і о" 1:і І tcr-Sc , , jce D .. 
.s tart ntel· 1І  1cr 
1 І1 і s . 1 г.тsас1іо11 І7 і І tc rSc,,,1·ce , d O . ' 
-~11 3 tсГ-1 lter 
); 
tl1is.cos1T1-a11sactio11sDataSet _ 
' - 11 . С С 
11s.0-c1 ost l1art D:11 aSc1s( 
ассошнs, 
1ransactio11s, 
tl1is. tra11sact і оп 1:і І terSc ...., i ce.st;)rt Datcl; і I tcr 
' 
111i s.trnns.ict іо11 І7 і lterSc"•i се .епd DateFi lt ci· 
); 
111.-0\\1 еr,·ог; 
І); 
} , СІТОГ => { 
) ); 
І 
) 
Тс1сст 1Ішіілу dasl11.>o:11·d.con1ponc11t .ІІІ щІ 
<div class= "nccot111\•  \\' idge1-ro,,1"> 
<di,, cla$s="c.11"<I 111 1·-З accoun1-,,1 idgc1"> 
<<fiv class="car<l-body"> 
<і class="r;:is ra- ba laпce-sca le 1ex t -pri 1ш1ry"></i> ll 0 1 0 •11 11111 
бала11с<Ь1·> f { ro1111atBala11ce()} } 
<І<І і,•> 
<di,, cl .iss="caiїJ mr-3 account-,vidget"> 
<di,, c lass="caг<l-body"> 
<і class=" ra s ra-arтo,v-rig/1 1 1ех 1-sL1cccss"></i> Дох i1t<l)1·> 1(  101111:11І 11со 111 с () j } 
</(Ji,•> 
98 
_j 
482. ЧДТУ. 22 І 8 1 9-0 І 12-0 І 
<di,• class="card accoui1t-\\• idgc І "> 
<di,• class="cartl-body"> 
<і c lass="Гas fа-::нто,,•- І сfі 1е.х 1 -dапgсг"></ і> І3 1tтp:нii <bi·> І І f() 111н11Cos1()} J 
<Іdі,•> 
<Іdі,•> 
</di,•> 
<di,• class="diagr3щs-ro\\• "> 
<di,• class="card n11 -З cos1-diagгam"> 
<di,• class="card-l1cade1·"> 
<І16>Графік шпрат<Лt6> 
<Іdі,•> 
<di,, class="car<l-bo<Jy"> 
<са1н1аs •11gl Г:-"costTraнsact ioosOataSct . Іс11g1 І1" baseClt,111 l1eigl11="300" 
[ datase1sJ="cos1T1·a11sac1io11sDataSc1" 
[ІаЬеІs]="І incCІ,a n l.abcls" 
І colors ]="Іі 11eCl1artColo1·s" 
[lege11d] ="I ineCl1a n J_egcщJ" 
І cltartType )=" І і 11сСІ1аг1Тy pt.:"></ca1t\1as> 
</dj,,> 
</div> 
<di,• class="card 1111 -З i11con1e-clia~ra111"> 
<(liv class="ca,·d-l1eade1·"> 
<І16>Графі1< дохоліu</116> 
<di,, class="carcl-body"> 
<сш~ ,,as • ngl f""- 11 І j оеСІн11·1 Dat 11. І с11 ц І 11" І,а scC/1,11·1 І 1сі glit=-"300" 
І datasets )=" І і 11еС lta 1·11)11 Іа" 
[labels ]=" І і 11eCl1m1 Labels" 
[c 0Jo1·s )="І i11eCl1artC о Іст," 
[lcgend]="I і oeCliart Lcgc 11cl' ' 
99 
р 
-ІS2 .ЧД1~' - 22І S І9-ОІ 12-01 
[c l1ar1Typc )=" І і ncCl1ar1T)1,c"></c.iп,·ns> 
<Іdі,•> 
<Іdі,·> 
<Іdі,•> 
Тс"ст фаіі .'1у tr:ins:-ic1io11 ~.co111po11c111 .ts 
j111pon {Compoпent. Oвlnit. Tc111pl:JІeRcr. \ ' ic"•Cliild} rго ,11 '@.111 l1,нl:11-/corc'; 
impon {TransactionSeГ\•ice J from " . ./ . ./seГ\•iccsftrn, 1 _ act і о11 /1 г.шsас t io11.scr,•і сс"; 
inipon {Transactiol\, UscrА ссон111} fi-om " .. /.  ./111odelsluscr-acco11111.1110tlcl "; 
impon {U scrAccountScrvice} r,·0111 ".  ./.  ./scГ\•iccs/t1sc1·-.1ccoн111/uscr-
. " 
зccount.seГ\' tce ; 
import {currcncies} rгот " . ./. . /dcfiпit io 11s/uscr-accour11.defi11i1io 11"; 
impon { 
ge1TypcNanieByld, 
typc as transactionТ уре, 
1ypes as transactionTypes 
J from " .. /. . /definitions/1ransac1io11.defi nit ion "; 
i111pon {Noti ficalio11 } r,·0111 ".  .l../. . l . ./models/1101і  /icatio,1 .model"; 
inipon {NgbModal } rго111 "@ng-bootst:rap/11g-boo1s1ra1>"; 
impon {Noli licationScГ\1icc] rrom 
". . /.J .. /rюt i fic:11 ior1/sc1·,,jces/not і fi ca1ion/noti Ііса 1 io11.scr·,,icc"; 
impon {ОЬsсГ\1аЬІе} from "rxjs"; 
impon {Tr.111sactio11fi І1сгSеГ\1ісс} rrom ".  ./. . /sc,·v iccs/1,· ar1sac1і о,1- Іі 11 ~1-/111111sac1і о1 1-
Г~І1ег. sе Г\• ісе"; 
impon {Acti,•:itcdRoute, Router} fro111 "@a11gнl:1r/rot11c1·"; 
@Со111ро11е111( { 
selector: 'app-tгans.ic1io11s ', 
ІеmрІ.нсUгІ : './1 га11s,1с1 io11s.compo11c111.1 11111 І ', 
st ylcU,· Іs: (' ./1,·:111sact io11s.co111por1 с,1 t .scss') 
J) 
cxpon clnss Тптsас І iorisComponc111 і 111plc111c111s 011 І riit 
100 
4 82 ,ЧдТУ. 221819-01 12-01 
Public геndо11Іу tг;зщ,nсtіо11Т)'І>с -- 11. "..  11s.n c 1- --
ю 11 1уре; 
,n.u blic гсаdо11І у t1·aщ;nctio11T)' І>Cs -- t,·,n ,,,.s ·,, ct·1 011 •1· ypcs; 
public зccou11ts: Usc1·Accoш11[] = []; 
public origi11alTraпsactio11s: Tгa11sactioll[] = []; 
р11ЬІіс Lг.юsactio11s : Tr;i11sactio11(] = []; 
public 1г.шsасtіо11: Tra11sactio11 = ~н,ІІ; 
public liltcrsOpe11ed = f;il se; 
public typeFilter = 11ull; 
@\1іе\\•СІ,і ld('tп111sac1 іо11 Delct сМ oda І') р1·і ,,n tc 111111s.1c1 іо11 Dcletetvlocl.1 І: 
TemplateRef< а11у>; 
public pagcNu111be1·: nu111be1·; 
public pageCou111: nu111be1·; 
constructor(private router: H.outer, 
pri,1ate acti,1atedRoutc: Ac1i,1atedRoнte, 
private 111odalSeГ\1 ice: NgbModal, 
pri,,ate userAccoш11Scп1ice: UserAccou111SeГ\,ice, 
pri,1ate transactio11Scrvice: Tпшsactio11Se1·vice, 
pri,1ate 1101 і ficationSer-vice: NоІ і ficat io11Se1·,1ice, 
private transactio11Fi lte1·Se1·,1 ice: Trans.1ctio11/-:ille1·Se1·vice) { 
public ngOnlnit() { 
1І1іs.ас1 ivatcd Routc.queгyPara111 Map.s11bsc1·i Ьс( q11c1')1 raп1111s => { 
Іh is.pageNumbcr = +queryPa raiпs.gct("page") 11 І ; 
І)• 
І ' 
tl1is .t1·a11sactioпFilte1·Service.s1aгt DnteГ-i ltc1·Cl1ai1gc.1шbsc1·i Ьс(() => { 
1/1is. updaІcFi /t c1·s(); 
І )• 
І ' 
ІІ1іs.tга 11sасІ ion Fi /(cr·Service.cncl DаІсІ'і lt c1·Cl1 ;щgc.s11bsc 1·il>c( О => І 
1І1 is.11pdatcFi І tc,·s(); 
І); 
10 1 
482,ЧдТУ. 22 1819-ОІ 12-01 
1 11 is.uscrЛccou111Sc1'\• icc. octЛII() .. 1,ь,.. •ь (n cco1111ts => { 1:::- .., , .,с11 с 
tl1iS.i1CCOШllS = itCCOlllllS; 
І): 
tliis.updatcFiltc1·s( ); 
public fonнatAccou11tNa111cByAccou11tld(icl : rн1111І,с1·) : st1·i11g { 
jf (id && Aл-ay.isA1тay(tl1is.accoш11s)) { 
re1un1 tl,is.accou nts. fi 11d(nccou111 => accou 111. itl =-= id).iн1111c ; 
} 
public gеtАссошнСштс11суNа111сВуАссоu111 ld(id: rн1111bcr) { 
Ісt accou11t: UscrAccou111; 
Іеt cuiтcncy: Use1·Accou11t; 
if( id) { 
account = tl1is.accou11ts.fi11d(accou111 => accourн.id = ісІ) ; 
сштеnсу = Cl11тc11cies.fi11d(i1c111 => i1e111.id = accou11t.curтe11cy); 
rctum id && сuпе11су ? c11n·e11cy.name : "; 
public fо т1а1Тп111sac1 іо11ТурсВ yTг.111sactio11Typel d( id: ІНІ тЬс1·): s11·і 11g. { 
return ge1TypeNa111eByld(id); 
} 
public opc11T1·,111sactio11Dclc1eModal(tra11sactio11: Т1·а11sнс 11 011): \'()ісІ ( 
1І1is.1ra11sac1io11 = І 1,шsасІіо11; 
tl1is.n10dalSeн,icc.ope11(1 l1is. tп шsасt io11DeletcMoclal ).1·сs11 І1 . 1 І1 е11( () => { 
Іl1is.Іrans.ict io11Se1·,, icc.dclcteBy І сі( tl1i s.111111 s.icl і о 11 .i <l).s11 Ьsсгі І)С( () => 1 
tl1is.11·,t11sac1iom; = 1Jiis.t п111s.ic1io11s. fil1cг(І1·ai1sac1io11 => І1c111 s11c 1i o 11 . i ll !=-= 
tl1is.1rш1sactio11.id ); 
ІІ1іs.11·ш1sас1іо11 = 111111: 
},  с1то1· => І 
102 
482.ЧДl)'. 22 1g19.01 12-01 
1l1is.1101 і ric;i1 io11 Sc1,•icc 1sl 1· 
.. Ю\\• : ti·ri,·( <Nt,1 ific111io11> {1 11css11gc: ' ІІс rнt11лос1, 
~1111nл11п1 111;1 1о;~к11ію' І): 
1his.t1-:insaction = null : 
tlH'O\\' ctтor: 
'-)•·І   
j. о => { 
111is.trnnsaction = 1шІІ ; 
І)•
І •  
public 011TypefїlterCl1a11gc(11c\\'T)11c: ІН111Фсr) : ,,оі<І І 
1l1i s. 1ypcГ-i lter = ПС\\1Т)1)с; 
t11is.upda1eFi lt c1·s(); 
public onfїl1crTogglcІ3uttoпClick() : ,,oid { 
1І1is.fil1e1·sOpc11ed = !1І1isJi l1c1·sOpc11cd ; 
public gc1Accou11tCuпcncyNamclЗyld(id : 11 ш11Ьс1') { 
co11s1 сштепсу = curre11cics. fiпd( i1cm => і1 с1н.і<І = і <І) ; 
rctum currency? currency.пa111e : 'Неnідома ватота раху11ку'; 
р11ЬІіс getPagi11a1ionPages(): any[] 1 
co11s1 pagina1io11Pagcs = П ; 
ro,·(lct і = І ; і <= tliis.pageCoun t; і -Н· ) І 
pagina1 io11Pagcs.pusl1( І пuтЬе,·: і ;) ; 
rctum pagim.11io11Pages; 
f\ІІІ)І іс gc1Tп111sac1ions(): Тп1т.ас1іопІ І І 
t:011s1~ І;нІІІІd<:-х = Іlii н.pageN 11 ml>t: J' ===== І '! О : ( 1І1і s. р11 !!~Nt1111Іна· • І) + 10; 
t·u11 1 11 /1(. І = І1·1 s. pagс NtІІІІЬс ,· ==:о= І '·І  10: 1І1i s .p1 1 t~L'Nt 1 111l)c 1· * 10; 
i; ~;щ ех І 
103 
4 82·ЧдТУ. 221819-0 \ 12-0 1 
re1un1 tl1is. lrш1snctio11s.sl ісе(~Іаг\ 
' 1п с1 е х, e11dl11dcx); 
} 
pri\tate updateFi l teгs(): ,•oid { 
t1iis.updateTra11sac1ioпs().subsci·ibe(() => { 
if (tl1is.typeFiHer != 1ш І І) { 
1l1i s.11,шsactions = І l1is .tпmsact io 11s. . fi1l tе ,· (·1 tc111 => 1. < \с111 . 1урс = 
11,is,typeFilter); 
} 
if (Іl1is,pageNu111be1· != І ) { 
tl1 is. routei·.п3,, igate(['/l10111e-accou111 і 11g/11·ш1sас1 io11s'], {q 11eryP;11,1111s: {' page': 
І }}); 
} 
tl1is.pageCouп1 = Ma t l1 . noo 1·(tl1i s. lгa11sac tioпs. leпg1І 1 / І О); 
if (tl1i s. t1·a11sacti o11s.leпgtl1 % І О) { 
tl1is.pageCount++; 
} 
}) : 
} 
private upda teTгaпsactioпs(): Obseгvab le<void> { 
rеtш·н Obseгvab l e.cгeate(obseгve1· > { 
1І1is. transaotio11Ser,1 і ce.gel(tl1і  s. І1·ansactio111::- і І te1·Se1·vice.slu1 ·\Datе І•і lt c,·, 
tllis.traвsac{ioпFi І terSeJ·v ice.eпd DatcFiI  І e1-).s L1bscгibe(1 raлsaclioпs => { 
if (11·aвsactio11s) { 
tl1is. (1·aпsactions = tп111sactioпs.s0 1·(( (11 , Ь) => { 
if (new Date(b.clate).getTime() · пеw Date(a.clate).getTi 111e() == О) { 
retum ь.;d - a.id; 
} 
ret1.1rп веw Date(b.clate).gotTimeO • 1ew Date(a.clate).ge1Ti111e() 
}) 1 
th i s.OJ·igiпa lTгa11sacti (i)І1S == r. .. t l1 is. t п111sac tio 11s] ; 
104 
482 ·ЧдТУ. 221 8 1 9-О І 12-0 1 
} else { 
1І1i s. tr:111snct io 1 1 s = [); 
1І1i s.0 1· i gi 11alTrn 11snctio11s = [); 
} 
obserYer.11ext(); 
obsc1"\1er. со111 р І et е(); 
І); 
І); 
Тс1,ст ф:~Іілу t1·:111s11c1io11s.co111po11c111.l1ннl 
<di,• class="c:11·d"> 
<di,• cl::iss="ca1·d-l1eade1·"> 
<115> Trai 1 закції</І15> 
<Іdiv> 
<div class="card-b()dy"> 
<bu1to11 type="bu11011" 
class="bt11 bt11-succcss transact io11s_create-t п1 r1snct Ї() H•bt1ttor1" 
router·Li 11k="Л10111e-accot1111 і 11g/t га 11s.icti o11s/c1·cate"> 
<і class=" Г.is ra- plus"></i> Стоор11т 11 тра, ,закнію 
</Ьt1tton> 
<di,, class="Гoпn-gr·oup 111Ь- І "> 
<l>t1tto11 class="bt11 bt11-Ii nk tra11sac1i o11s-l'i І tc1·-iog1,;le-bt1t 1011" 
(click)="o11Г i lte1ToggleButto11Click()"> 
<І16>Філ ьтр11 < і class="Гas ( {f ilt c1·sOpc11 c<J ? •ra-ar1gle-trp' : •r;-нmglc-
do11•11 'І} "></і></116> 
</Ь111ton> 
</di,•> 
<di,, clnss=" Гoпn-iiiliпe тЬ-3" *11gl Г=" fillc1·sOpc11c( I "> 
<di,, cl.'1ss="Гorr11-1·0,v 1111·-З "> 
105 
482 -ЧдТУ. 221 819-01 12-01 
<d·1,, class="fon11- 11 ro•11) Псх І 1· · 
::> ' • -со t111щ а 1g1)-1tc111s-st:11'1"> 
<lnbel> Т11п <І ІnЬс І> 
<select cl.iss="fom1-co111гol" id="typc" [(нgModcl))="typc J:il1c1·" 
(ngModelClн1 нgе) = "011ТурсІ: і І tе1·СІ~опgс(Sс,,с,н )"> 
<орtіон [1 1g\ ' aluc ]="11ull">Bci</op1io11> 
<optio11 *ngГ-or=" let typc oftr:111snc1 io11Typcs" (11g\'n lt1e]="typc.i(I"> 
{{ typc.11.imc}} 
</ор1іо11> 
</select> 
</di,1> 
</di,•> 
<di ,, class=" f0 1111-1·0" ' тг-3 "> 
<di,• class=" fo r111-group flcx-col 1111111 а І ig11 -itcms-s1ш1 "> 
<ІаЬсІ class="tex t-110\\•1·np"> В11х ід1111Іі р:1ху1 юк</ІаЬеІ> 
<select *11gl f="accou111s" clщ;s="fom1-co111rol"> 
<optio11 [11gVallle]="щ1ll">Bci </optio11> 
<optio11 
*ngFor="lct ассош11 of accou111s" 
vаІнс="{ {account.id} }"> 
{ /,1ccou111.11.:1111cJ ; - { {ассош11 .ЬаІ:111се}} 
/ /gc1AccoнntCштc11cyNameІ3yld(accollnt.c11п·ency)}} 
</орtіоп> 
</sclect> 
</div> 
</div> 
<div class="fo11п-1·0\\' 11> 
<div class="foп11-g1·011p Псх-соІ 1111111 al., gв-i. tcms-s І І "> 
ai· 
<label class="text-110\\'rйp"> rю:у 1 юк ,1 pt , з1 н1че1111я</ІnЬсІ> 
<select *пgІ f=":,ccollпt s" class=" rо пп-со111го І" . І -" 1 
t( - уре "> 
<opt1.0 11 [11g\Іa /t1e ] ="  1н1 11",' , ІЗ 1:і</01,1іо11> 
482 -ЧдтУ . 221819-01 12-01 
<optio11 
11
•11gFor= lc1 accouнt or accoul)ts" 
, 1alue=11 
11
{ { account .i d} } > 
{ {accouпt.narпe}} - { {ассоuвt.ЬаІансе}} 
І /getдccouнtCuiтeнcyNameByld(accouiн .curтency)} } 
</option> 
</select> 
<Іdі,,> 
<di" *1 1gl f-11 !l .rзнsactior1s. le11gtl111 class="tпюsact io11s_rю-t1·a11sac1 ions­
niessage"> T paнзaкui it 11е знafiдerro</d i,,> 
<table *11gl f="trзnsactio11s.le11gt\1 11 class="table 1able-s111 1аЬІе-І10,1еr· 
,ransactioпs_table"> 
<1l1ead> 
<1І1 scopc=" со І"> Ти п </1І1> 
<1І1 sсоре="соІ">Оппс</111> 
<1\1 scope="col 11> Дата</1І1> 
<1І1 sсоре="соІ">lЗнхід1111іі рахунок</1І1> 
<111 sсоре="соІ">Сума</1І1> 
<1І1 scope="col''>Paxy1101< прнзначе1шя</1\1> 
<1І1 scope="col">Cyмa</tJ1> 
<111 scope=''col"></t l1> 
</11·> 
</1l1eiJd> 
<ІЬоdу> 
<Іг *11нГоr="Іеt 1,·a11sact ion or getTr,1t1sact.ю ris ()"> 
С> 
<t(I class=111ext-r10,,,r.1p "> 
<і cla~s=" 1·as11 
107 
482-ЧдТУ. 221819-ОІ 1 2-() І 
[1 1g.Closs ]=" { 
'f:ннrо\\'-ГЇ!.!,111 tcxt-succco·;;,s '·•  11 c1ns.ic1 . ю11 . tурс = 
tr:inPCIЇO II Т)11С. і 11С()ІНС. id. 
'fo-з1тo\\·- l cft tcxt-donnc '
• t= r ·•  1l cll1S3CII•0 11.typc = \Гс'І ІІS::ІСІ .І ОІІТуrс,СОSІ . ·І .u, . 
'fiз-cxcl1:ingc-::ilt t cxt-rri,н.i,1,, : І1c1t1s.,ctioІІ .t )11c = 
tr:in~ctionTypc.tr.111sfcr.id 
}" > 
</і> 
{ ( fon11зtTr::i11saction ТурсІ3уТг,тs:1с1 іо11ТурсІ<-І(1г.111 sас 1 іоп . Іурс) І } 
<Іtd> 
<td> {{ t ransact ior1 .dcscri р1іо11 } }< /td> 
<td>{{ transactio11.date І datc: '<ld.Mt-.11.yyyy'} }</td> 
<td><a>{{ f orma1Accou111NamcІ3yAccountld(1rш1sactio11 . fro111Accoun11(1)} } </.i></ 
1d> 
<td>{ {transaction.amountГ-rom}} 
І \ge1AccountCurrc11cyNa111c8yAccou11tld(1rn11sac1ion.rгo111Accoш11 ld)}} </td> 
<td><a>{{ f ormatAccou111NameByAccou11tld(transaction.ІOAccoнn1ld) }} </a></tcl 
> 
<td> ( {1ra11sac1io11.amoL1111Tо  J J 
/{ge1Accoun1Curre11cyNnmcByAcco1111t ld(11·~111s;1ctio11.10Accot1111І сІ)}} </t<I> 
<td> 
<di,, class="bt11-gr·oup" rok="gro11p" агіа-І;1Ье І=" LЗаsіс сха111рІс"> 
<bu11on type="but ю11" class="bl 11 bt 11-sесо,нІа,·у \)\ 11-s111" 
routerli rik="/l10me-accoL1111i1 1g/1m 11snc1io 11s/ecli1/ { І t1 ·a11s:ic1і о 11 . i<t І І"> 
<і class="f'as fa-pe11cil-al1"></i> 
</Ьu11оп> 
<bu11 011 type=''biJttoІІ" сІ;11,s= "І,111 1,111-<І і111~с 1· І ,111-s111 " 
(tlick)="opcoTпmsact іоп/)сІс І сМ(аІ;1 І(11ї 11 1:-- .1с1 іо11 )"> 
101-і 
-
<182 , ЧЦТУ . 22 1819-01 12-01 
<і clnss=" Гnr Г;з- 11·.i sl1 -n Іt "></і> 
</bu11011> 
</tti> 
</tr> 
<11body> 
<11.iblc> 
<~1:І\' ari: i-1n bcl = "Т 1·n11snc1 іонs Iн 1,1 і gnl іон" • 11g І r= " gсІ Png і, iat іо11 ra!;CS().Ic11g111 
> І"> 
<111 closs="p.igi1шt io11 1i-.111snc1i oщ;-p.igi11:1tio11"> 
<Іі class="pngc-i1c111"> 
<.i class="pagc-1і  нk " 
гонІсг\_і 1,Іг- 11/Ію mc-accou 111 і 11g/1ra11sac1i o11s" 
fQ \IC1y P"m.1111 s)=" 1'p:ige': раgсNшпЬс,· != І ? r :igcN11ml,c1· - І : l j" 
зrі ;з- ІаЬсІ=" P1·c,1io11s"> 
<sp.i 11 aria- l1 idde11= "1r ue"> &laquo ;</spn11> 
</а> 
<Л і> 
<Іі class="pщ;c-ilcm" *11gl701-="let page of' gc1Pagi 11at io11Pagcs()" 
[ngCl:iss]=" !'исtі\•С' : раgсN ш11І,сг = pagc.iн1111be1· J "> 
<а class="ragc-1 ink" 
го , 11 с1· І_і 11 k= "/110111c-account і ng/1 ,·iinsact io11s" 
[ q11cl)•Paп1111s )=" {'page': pagc.11u111be1·} "> 
І {р щ;;с .11шнЬе1·} } 
</а> 
</Іі> 
<Іі clш;s="pagc-iIe111"> 
<а cl11ss="pagc-li11k" 
го11Iсr-І , і11 k="/Ію111с-ассоо I1I і n g/t1·ai1s,ю 1 іонs" 
109 
482 -ЧДl")'. 22ІRІ9-ОІ 12-0 1 
І 1
q 11CІJ· J>n1·aiнs)::" {' pagc• .·  pngcNt1111\,cr != рngс(()ІІІІ І ? pngcN11111І 1cr + 1 
11сС011111 }" р:1: 
nrin-lnbcl="Nex І"> 
<_,;pn11 n1ia-l1iddc11="1г uс">& Г;Jquo:</sJxІП> 
<Jn> 
<Лі> 
</ul> 
<Іdі,·> 
<ng-1c111pl:11c #trJ11sac1io11DclctcModal І с1-111оdаІ> 
<di,• clзss="n10dal-l1cac\cr"> 
<І15 class="nюdal-Іit Іс" id="1110dnl-basic-1і tІс">В1щалс1111я тра1 1за1о~ії<ІІ15> 
<bu11011 1ypc="bu11011" с 1.iss="closc" (с І ick )="ll)oclal .tlisll)i ss()"> 
<spa11>&timcs;</spa11> 
<Л,u\1011> 
<Іdі,•> 
<di,• class="111odal-body"> 
І311дал11т1t транзакцію " { {1 1·a11sactio11 .dcscr·iptio11 } І"? 
<Іdі,·> 
<div class-"rrюdal-foo1er"> 
<bu11011 1ype="bu1 to11'' class="bl п t,111-da11gc1·" 
(click) =" moda l. closc() "> 1311дш1 , ,п 1< /І>tІІ 1011> 
<bu11011ype="bu11011" class="b111 b111-s1:co11da1·y" 11~ЬА11 1 оrосщ; 
(click)="modal.dis111 iss()"> Зиrсрнтн</Ін 11 юn> 
</div> 
</11g-1cmplate> 
І І О 
----
► 
Додато1, 13 
WБВ-ОР]ЄJ·ІТОВАНА СИСТЕNІА ОБЛІКУ CJM EJ'i'll-l OГO GІОД)КЕТУ 
Інструкція кор11стуnа•1еві 
482.ЧДТУ. 2218 19-0 1 34-01 
Листів І 9 
Розробник: _____- 1І.L~-=-~-------Мульче11 1со В . В . 
Черкаси , 2022 
чS2.ЧДТУ. 22ІR19-ОІ Зч-01 
0 11 ІІ С і ІІlсрфсііс" 1'fl ф ' . . 
• ) IIKІttOllfl Jl l,IIIІX МОЖ.Іt ІІІНІ (' І сіі 
Пpo itcc anтoi) ... 
ІІ ЗІНt ІІ '-01НІС1)' 11ІРІЛ 
Дл я того, 11_1.06 :inтop11зyu:iп, . . 
· сь 1<ор11стуоnчу у пс6•J\Од3тку. 1ютр16110: 
_ ззііт11 11 ri с:~ііт nс6-дод:пку; 
_ ,, формі :1nтор11з:1ції 
· 11011 
, iG 
 11() ВПССТІІ CJH~hT J)Olllf )' nлрссу та ІНІfЮJІІ, 
обпікооого з::1 I1 I,су І\ор11с·"•о , . 
• .J 3 •а rn щ1т11с11ут11 11n к11011ку «У 11іііт 11 ». 
Форма зв1·ор11Занії в с 11стем)' 30г:.) ,,. • 
\J 1 н>І,СІІО 11n J)ІІС)' ІІІ<)' 13. 1. 
Домашня бухгалтерія 
Електронна адреса 
Пароль 
•••••• 
Увійти Реєстрація 
Р11су1ІОІ( В. І - Форма автор11зrщії 1сор 11ступ,111:1 
Процес rсс,·трації ~.ор11стув:1•1а 
Д.11я того, щоб заресструват11 1ю1юн, 1тр1 1сту~н1• 1у у всб-додат1<у, 
11отріб110 ; 
- заіt1 11 11а сайт веб-додатку; 
- 11:JТІІ С ІІ)'ТІІ ІІ З 1/0CIIJtalltiil «Ресстр.~ція» )' фopr-ti :111торІІ'J[ЩіЇ 1юр11стуоn•1n; 
- у формі рссстр,її заrюn11нт11 nою1 імс11і , 11рі ·3111 1 що, слс1Стро111ю'і алрсс11 та 
оuроля і 1 1ат11с11ут11 ,снопку «Зарссструтн 11 с1,1>. 
Фор~, .~ рссстр,щії ІСОр1tстуnа•н1 у 11еб-до1 1.~ 1І С)' 3оіір.1жL' 110 11.1 р11су11 ,,у 13. 2. 
112 
482 .ЧДТУ. 221819-О І 34-01 
домашня б • 
ухгалтер1я 
Прізвище 
Елек т рон1-1а адреса 
Пароль 
Зареєструватись Уоійrи 
Р11су11ок 13.2 - Форма реестрації кор11С1)'Вача 
Процес 11срс 1-л яду фішн1соn11 х 11ідсум1,іn ,~01шстуn;1•1а 
Д~lя того , щоб 11ерегш111ут 1 1 фі 11а11сові 11 ідсумк1-1 кор1 1стува 1 1n у uсб­
доnаJК)', потріб 1ю: 
- - - ,.. 
З3ІІТІ1 11а с:шт ОСО·JІОJЩТІ<)'; 
- у форt-1і ::~отор11зації г~отрібно овесп 1 сле1про1 111у адресу та 11ар о.111, 
облікооого за1111су 1<ор11стуо,1- 1а та 11а111с11ут11 на КІІОІlІ()' «Уnіі1т1ш. 
П ісля процесу аuтор113[1 І 1ії, кnр 1 ІСТ)'f!<І' ІУ за Зr!ІІІОІЗ' ІУВаІ І І ІЯІ\І нід1( J) І ІСГІ,С }І 
сторі11ка фіщшсоо11х 11ідсу~11сів . 
Сторінка фі11ансов11х підсумків зобрю1се 1ю 11ri р11су 11 1<у В.З . 
Стор і 111,а ф і 11а11сов11х л ілсуt- 1 1<і в 1<ор11стуоа•111 Сf(J1адаст1,с}1 з : 
- і 11форма11і1111е меню "ор11стув.JІ 111 (р11су110 1< 13.4); 
- меню нав і гації веб-додат ,су (р11су1101< 13 .5); 
- віджети фіщ11 1соn11х 11 і ;1суІ\ 1 1 ,і в 1c n1) 1 1cтyвri• 1n (р11су11ок 13 .6). 
-
482 - Чдn,. 22 I sI9.01 зч -01 
~ Пото•н•Ї. 6.111.1чс 
➔ ,llonл 
7160 UА.Н 3000 USD 
10300 uso 
rfllфiK 114ff)l1 
c:::J _~.. ~,• .. ~. . О ч:"', t.:.~ r .. ·.1· -·• 
□·, ,: ... , ~-
: :х 
:хс 
P11cy11oi-- 13 .3 - Сторі 11 ка фі11а11сош1х nідсумкіn кор1tСГ)' О,\'tа 
;; Рахунки 
't-"l- Транзакції 
Х Імп орт/Експорт 
І) в 4 мс1110 наві,·rtнії всб-1н11 1 а І щ1 
11су11ОІС . -
І І ~І 
... 
482.ЧДТУ. 221819-ОІ 34-01 
~ По1ОцtІІ!І1 (,,1n~HC ➔ до,ід 
;760 uд.н. 3000 Us o ~ о,,1 ра111 
10300 uso 
3800 UдІі 
c::::J ;1,,,~:-•1•, u$:> C=::J t<A:-;,, " .-.n,_ t,.,,."" t •л , 1 
(==:J ~ fi" ~")1,lf 05,J к::::::) "-АР"• ,1 ,:.n-a f ,...,,- \! IJ,\ H 
Г,1u.,1"C--.. t- L1A~ 
r=:::J r-,,,i"'!"•, • V.\H 
Р11су11ок 13.6 - Віджет11 фі11.11-1сощ1х підсумків 1<ор11стувача 
Віджет11 фі11а~1совнх п ідсум1<ів відображают~, 1-н,ступну і11формацію: 
- валюту та зат1шо1< коштів на усіх рахунках користувача за обран 11й 
звітн11й період; 
- валюту та суму доходів користувача з ус1х рахунюв 1<0р11стувача за 
обра1-111іІ звітн11й період; 
- вашоту та суму в11трат з усіх рахунків корнстувача за обра1111й зв іп 111й 
псрюд; 
графі1< витрат, я1<І!і1 відображас rттрат11 користувач:~ ОІ<J)СІ\Ю по 
кож11ому раху11І(у за обр:11111іt звіт1111іt 11сріод; 
- графік доходів, я1<1-1іІ відобра;1<ає дохід кор11стуоача 01<реІ\І о по 1-ож110~1у 
раху11ку за обранні-і зв іт11 11 й 11сріод; 
Лро11сс з111і1111 з11іл1оп1 11сріолу 
Звіпmй 11еріод включає n с(.'бс дві J 1ат 11 : початІ(ову та 101щсоу За 
за.1юочуnан~~ям, він обнрасл,с,1 с 11 стеІ\ІОЮ і ВІ{Лt0 1 1ає в себе псрш11іі та 
ос1 'а 1 1111·1- 1 ден~, поточного місяця. 
115 
<IS2, Чд:ГУ. 22 1819-0 І 34-0 І 
ДЛЯ ЗІ\І І ІJІ І З ВЇТЩ)J'О 11 . ' ІЦО 
Срюду, ЯКІtІІ ІН1 JІ ІІUас 11(1 і11 формn1t1 ІО , 
оіJІображnсться у uіджетах фі 11011con11x 11 і дсу~, ків i<op11cтym1' ,а 11отріб1 ю : 
_ заіtт11 но саі'іт веб-додатку; 
_ у формі ::~отор11зації пот1)і611о IJІJcc,1 1 слсктроІІ ІІ )' ;щрссу та 11ороJІІ, 
облікоооrо за 1 1 11су 1юр11стуоо•1а та 11от 11сн)rт11 11а 1оюг11(у «Уві ііт 11 » ; 
кліюп11 на пос11л:-11111я з дnтою 110•111тку звіт110 1·0 11сріоду 11 
івформацііt1юму ме11ю кор11 сту11:1•1n ; 
_ у 011пnдзючому календарі обр:п11 дату 110•1ап<у звіт1101 ·0 періоду; 
_ а-ліюп11 11<1 пос11л:н111я з датою кі1щн звіт1 ю1·0 nepio11y n і11формаціі11юму 
ме11ю 1<0р11стува•~а; 
_ у 01111адаючому каленJ.НJр і обрnт11 дату кі1щн звітного 1 1ер іоду. 
В11nадnю•1111і калс 11лар дm1 ЗІ\1і1111 дnт11 початку 3віт110 1 ·0 періоду 
зображено на р1r1-су--11ку В.2 . 
< м-,,у -: -201-9 :- -> -----
Мо ,·,., \-Vc 11, F, So Su 
11 2 з 4 5 
6 7 8 9 10 1 1 12 
13 14 15 16 17 18 19 
20 2 1 22 23 24 25 26 
27 2 8 29 зо 31 1 .ann е1н1 0.з1 UAH 
н 
11 
Р1tС)'ІІО1< 13.7 _ І<але1-1дар для 1311бору щ1п1 rючат1<у та "і1~цн звілю1 ·u 11сріоду 
Пронсс ІІС/Н.'Сr1яду і1нj1ормації ІІ/)0 раху11ю1 І,(1р11с1-:,•щ1•1а 
Дм, 11ере1 ·ляду .11 11 І юрм ації про І)аху , 1101 І<0р11сту11ача 1нпрі б1ю : 
- заі1т11 1ш с:.~ і-іт веб-дод.:~т1<у; 
- у формі nnтор11заа..1ії ,·ютр~· б І·Ю ввест~-1 елеf{тро1111у адре,с у. .. п, 1н1рол 1, 
облі"ооого заr1нсу 1rор11сту13а'Іа ПІ 11 '' 1ТІ1СІІ)'Т ІІ ІН\ /(110111()' «~ ІJ ІІ ІТІІ » ; 
- у ме11ю щш1г.. :щ1.1..  nеб-дод<, Н, І<),  1< Л ЇІОІ)'ТІ-І щ1 пу11 1<т « Раху1 1101» . 
Сторі111<у перегюrду і11форм:11t 11 П ІJО paxy r rюt 1Сор11стува 1 1а :юбраж~1ю 11 а 
РІІсунІСу ІЗ. 8 . 
116 
і 
482 - ЧДтУ. 22 1 S19- ОІ 34-01 
Ракун11и 
1. .• • 
Тмn в., ..,о,. L a.,tAtt< 
Дt-no,~1 
Р•,унос uso !ООО І2В 
~ Oft:,.) м• ,.,nл.н 
t(.)p f .:,1 UAH 6810 rJD 
(.),t.)HfЦt,. 
Г Ofl8 1(J UMt 9SO І'JВ 
f>11су1ІО І{ B.S - Сторі 11ку 11срс гляду і11фор11.1 :щії про р11ху11к11 1<ор1 1стува• 1:1 
Сторінку перегляду і 11фор111ац ії 11ро рзхунк11 1-ор11стуоач() склад:н:т1,ся з 
к~юnк11 «Стоор1tтн раху нок» та табл11 ці з р.1ху 1 1 к,ш 1 1 І{Ор11стуоа•1а. 
В табл~щі з раху11ам11 кор11стуоач:1 о ідображасп, 1 1acтyr1 11 ri і11форм1ші11 
про раху11кн : 
. , 
- ІМ ii ; 
- валюта; 
- поточ11 1 1й бал а~, с; 
- меню уr1 равл і н н ям раху нку. 
Процес у11 р,шл і 11щ1 J>axy 11 юt :1 111 1.ор 11стуuа•1 :'І 
Дм1 упраол 11111 я р.1ху111<а~ 1 11 І(ОІJІІстуш1 ча рсалізова1111 й насту 111 1 1 1і1 
фу11щіо1 1r~л: 
- створен11я р.аху111<у; 
- ре.пагув.1 111 1я рахун ку; 
- в11далення рахун ку. 
Для стnоре11 ня раху11 ку 1ютріб110: 
- зnі'іпt на сайт веб-додатку; 
- у формі а~порнзації 11отрібно вн~сп 1 ~:лl'1;тро11 ну адресу та парол 1, 
б · "-'оача та 11:~т11с11 ут11 11а ~топ ку «Уоіі1т11 »; 
О ЛІКОІ3OГО запису KOJ) IICl; ' ' 
. ... б датІ')' ю1іКІІ'(ГІІ 11 а пу111-т <<Раху 1 11ош; 
- )' ~ІеІі ІО ІіЗВІПlЦІІ 6е -до ' ' · 
- 1 1 атr 1снут11 кнопку« с,r oop І·І ТІІ І)•З Х)' ІН)tm; 
117 
482- ЧдТУ. 22ІSІ9-ОІ 34-01 
заnоu111п11 поле ім 'я ,-
- ' 1111 • U::\л10п1 rn 110чr~ткоо11 іі бала11с; 
_ ІІЗТІІС І І)'ТІІ ІШО Іlh:)' «Ст11ор11Т 1 1». 
Сторінку спюрс1 1 ня рах)•н , · , 9 
, ,) кор11с1)•1щ•1rt зобрnжс110 11n р11су111<у В . • 
Імn 
1000 
;;; І+і ,ііі 
Р11су11ок В .9 - Сторінка стоореню1 рахунку кор11стуо.1чrt 
On11c пол ів сторінк11 створен11я рахунку кор11СТ)'оа 1 1а: 
- і~1 'я - текстове 1юле пр11зна•1с 11е для воеде1111я і~1е 11 і раху11ку; 
- ТІ/П в11падаюч1111 СПІ1СОК прн з11ачен11й для ,тбору ТІІП)' 
рахунку (р 1 1су110" В. І О) ; 
- валюта - 011 п.:щаючиі1 список пр11з 11 аче1111і1 ДЛJІ ,тбору оаЛ І (УГ ІІ 
рахунку (р11су11ок В. І О); 
- по•1аткоn11 іі б:ша11с цнфроос ІlОJІС 11рІІЗІІ.1 1 ІСІІС /(Л ,~ введе, 11 "' 
nо•1аткоnо1·0 бащ111су раху11ку. 
Гоrіока 
І • 
J>нcy11o 1r 13. 1о  - 1Знnnдню•11111 сnисо,с 1тбору т1111у раху 111щ 
11 R 
482.ЧДТУ. 22I819-ОІ 34-01 
-· 
Р11су1юк В . І І - 13 1 ,nадаю, ~ 
< ' ІІ 111 СІІІІСОК ІНtбору ІJ:'ІЛ ЮТІІ р:JХ)'ІІІ<:'І 
Редагувати раwунок 
S-)jto()f,) 
1000 
ІНИІ::S 
Р11су 1ю1< 8 .12 - Сторі 11 ка рсдагуоа111н1 р:1ху11ку 1<ор1-1стува•1а 
Після стооре1111я 1юоого рахунку кор11стуuu •1:1 , оі 11 оідразу оідобра11п1,сн 
ycn11cl('y раху11І(і о кор11стуоа•1и. Для рел:1 гуnа1111н рахунку потрібно: 
- Зі'ІІІТІ І 11а саі1т uеб-J\ол.с1тку; 
- у фор~,і .1отор11зації 1ютріб110 вnест11 слектро1111у адресу т;1 11 а 1ю111, 
обл ікооого запнсу корнсrуnача та 11 nп1с11ут11 11а ююnку «Увіі1т1 ш; 
- у меню 11аоіг:1uії осб-дод.1т1<у клі1< 11 ут11 нn пу11кт «Рпху,11< 11 »; 
- nме11ю упраолі1111я раху11 ку 11ап1с11у111 11а і 1;0111.у ред;1гувзr11 1я ; 
- зчі111п11 поля рахун1,у 1111 сторі 1щі редс1rу' о.t1111я рю:у11ку; 
- 1щтнсн)'Т І1 ю-юm<у «Зберсгт11» . 
Сторінку редагуваню1 р,1ху1 11<у 1Сор11стува•1а зобр:1,1,е1ю 11n р1 1сунку В. І 2. 
ДJ, ii u11далення рахун ка 1<ор 11 стуоnч.1 1101ріб110 : 
- Jиііл1 11а сайт веб-додатку; 
119 
4S2 .ЧДТУ. 221819-І)І 34-01 
_ .У формі nuтор11заuії 11 01 1)1..  6)1 1() І.ІІ.ІС с 1•1 t слск11ю111t~' n11pccy тn 1111rюн 1 , 
oбmi-ouoro зn,11,су 1юр11с1 , , , . 
. . ... ) U,I lrl 111 llfl1'1І C ll)'l lt 11 11 ІОІОІІІ()' ((Унііі Т ІІ)); 
_ у мс11ю 11::1111rnu11 uсб-додаrк , к . . , 
. ) ЛІКІІ) 111 11n 11у11к1· « Раху 111ош ; 
- nштвсрДІІТІІ ВІІД(\JlСІІІІЯ pn' x'  )'ІІІ()', )' СІ1Л ІІЩ)ІО'І0М)' вію1і ІІІІЛНJІС ІІІІ ІІ 
p::tX)' l1K)' ,~ор11стува'1а. ІІrtТІІСІІ , 
) ВШІІ ІОІО І1К)' «J3ІІ JЩJІІІТІІ» . 
Сnлнв::~юче оі 1шо о~щn.nсІІmІ рnху11 ку кор11стуn:111:1 1ображс110 1111 
рІІсу11ку 13.1 3. 
В1ща11евня рахунку х 
І 
Рг 
І В,ІЛаn,,щ РJ•)'ІіО( ·кар1(J ·1•н,се1х .11101<а"' І 
І ~ -
1м·11 Т1111 8'.пІОR 61na11c 
Деnозит Раху11ок USD 3000 rш 
Картка д,,t ем;,ат КарІІС.1 UAH 6810 Ш11 
Гаuанеuь Готівка UA►t 950 
.п  
1:арщ 'У"іеер<аnь11а· Кар1ка UAH 1000 ав 
Р11су 1юІ( В.1 3 - Спл 11 вr~ю•1с віюю п11д.~лс111111 раху11ку кор11стува • 1:1 
Процес 11 срс1·.1 111ду і 11 фп р ~ 1 ації 11 1ю н11т1щп1 1сп р11 сту1~а•1:1 
Для пере1·лялу і11форм а нії 11ро 1111трап1 .кор 1•1стуоа•1n потрі G 110 : 
- зайт11 1ia саі'іт всб-ло;н1т~,у; 
- у формі аnтор11·нщії потрібно 1111ест 11 елс1<тро1111у адресу та 11арщ11, 
облі1<0nоrо зм11н:у кор11сту11а 1 1а та 11:1тис11ут11 11:1 юю11~су «У 11іііт11 »; 
- )' МСІІІО 11аnі1'ШlіЇ 11cfi-/tOJJi1TI()' І(JІЇІ(ІІ)'ТІ·І 11:i nу1щт «Тра11за1щії» , 
Сторі111<у псрсгт~лу і 11 форr-~анії 11ро 111пра111 1юр11стуm1•1n ·юбражс1ю 11.1 
РІІсунку В . І 4. 
120 
------ - ---4 8-2.Ч-ДТУ. 221819-О І 34-0 1 
-- ----
Ф1"1-1 р,•.., 
........... 
'"" 0•"( - .. ..,... 
А•• • <"І~• ",. ....... с-,. .,  
t- r ...С ),,8 . .. ~. ..... 0401 lOtf ,....._.-.-u .. ,. 
 . .,.·., .  t\v \ІАОІ ШІ 
... ,.,,..,.. .. no.:-.i,~ Nm~1 t ~;--·•.І••• ).IOUAI+ 
• ..1 \,1• Ш3 
➔з:-\і.а A.,,'\.:tr 01 С\ 101 t Ам>1,, k"OV\.O !313 
.. t-cw, .. t;;c,u.,. .....,  •• , О7С,\)ОН .''ї )'~U,.& ..Н l('(\)VA•+ 
tІOUt).-.. ..... ш 
f- f""'tp,IІ, not~ t U :"f 060НОН .(.•.; ,;•,u,,• •• ''°""" ,жз 
;: nr.:-,u, )..о•- • rc. ..t t•• (li!. 0\101, ,,-o•u .t.. . t(IO~ r,  ...,  .." 1• ,оо 
. ..f "t 'Ч" ЕШ1 
. .. f, •p, , .. w-,,~ """ 
ОЬ О\ NІ1 r , .,, .. "". l,Ю ')І,Ч ШJ 
+- t,нpt!·,. І(.,~ о.&0\ lOІt Аf"':н,1 юш.о ШJ 
4- f,'"P.1r, І •:-осw,;"І Ol ~S ./('11 r . .......... ,с U'<Н -ШJ 
Р11су 1юк 13 .14 - Сторі111<у перегляду і11фор111а 11ії 11ро n 1 пран1 кор11стуuача 
О табтщі з 01пратаr. 11 , 1<0рнстуuа•1а відображасп,ся 1 1асТ)1 11 11а 
інфоrм:щія п ро раху11ю1 : 
- n,п - ТІІП операції; 
- ОПІІС - ТСІ(СТОІІІ1і1 ОПІІС 011ера11ії ; 
- щ1та - ;н1та проведе 1111я операц11 ; 
- в11хію111іі раху 11 01< - 11очатков11ії раху110І( тра11 'Jа1с 11ії; 
- сум,1 - сума операції дл я 011хід1ю1·0 раху111Су; 
- раху1101< ПJJІІЗ11аче 1тя - кі1щсв11іІ prixy 1ю1, трш1з.:11щ ії; 
- сум,1 - С}'1щ1 операції для раху11 ку 11 р11з11а•1с111 1 J1 
- мс11ю упр:нз11 і1111я транзакці сю. 
Дл я rі)-·І ЛІ,Ш ЗJ))" ІІ ІОГО псреглнд),  · 1 · 1J ,·111 зn1Cui ii ІСОJ) 11 ст.,1 в.1•~а ІJеалізов"(,І  11,n 
С11t1ема фіт,трува,~tJЯ тра1tза~щіі1. Длн n,п 1111:11111 1І 1 іJІІ ,трі11 трп11за1щі11 
кор11стува•1а 11отрі6110: 
- заіі111 на саіІт оеб-додат1<у; 
121 
482.ЧДl-У. 2:!ІR\9-0\ "'4 01 
у формі nвтор11заuії потрібно nнсс, 11 слсктротrу nлрсс} тn rraroлi, 
облі1-оооrо З3.11ІІС) КСІрІІсТ)•вачо. 13 113111с 11у111 1 ш kІЮПk) (<У1111і111 ►>: 
у меню нзоіrnції nеб-додотІ{у КЛІНІІ) 111 1111 11) нкт « 1 pnii1ni-.1111 н 
нат11с11ут11 на 11ос11лnн11я <<Фільчт)) . 
1<ор11с~ вачеві дОСl) 11 110 ф1льтр:щ1я 1JH11t J:ІkНІіі 13 1101... r) 111111r.111 гюлям11 : 
_ тнn (рІІС)ІlОК В. 1 6); 
в11хід1 111іі ро: ·у 11ок (РІІС) НОІ, в 17): 
рахр1ок nр11значення 
J\ 1еню фільтрш транзаk нііі кор11с1уоn,н1 106рnжс110 1111 p11cy11i-) В 15. 
'"" 
8'1 
РисуІJок В.15 - Mettto фільтрів траr1за 1щ1н кор11стуоа•~n 
Транзакції 
+ Стеорити траюакцію 
Фі11ьтри,.. 
І1,11 Вихідний раІ\}'НОК Ра)()ІНО" nри,ночення 
ВСІ 
су. .. Сум• 
8и1рати 
._,,.,1 rotieи ~О~ 2019 К..рт,.. АІІ• """1 100 U.Al-i f1u•-•U.. ІООUАН t4 J 
Рнсуноt< в 6 - ll1111n,н1ro ' 111 Ї1 с111 1 со1< ,.111бору ·11111у трn111n1<цііі 
J 
122 
482,ЧДТУ. 22 1 8 1 9-О І 34-0 1 
Транзакції 
,. . 
+ стоорити тра11~акцію 
ФІnь1р11" 
О11хідн~1й рJ)(унок __ _ _ Р.~хуно • nрюначення 
j Всі •І Осі 
• су ... 
Г ;щанещ, • 9'>0 U/IH 
ІООUАІІ ав 
Кар, к,1 ·уніо е рс.~ль11,1· . 1000 UAH 
К,1 р1к.1 дпя в,, nл.11 . •J.160 UAI t 
r11cy1ioк В . 17 - В1111адаю•111і1 с11 11сок в11Gору в11 хід1юrо раху11ку тр,н 1з11101і й 
Процес уIIIн~ вJ1і 11щ1 Iнп11::~пIм II ico111IcтyoiPIa 
Дю1 yn р,ШJІ і 1111л 1штратrн,1 11 кор11стува •1.1 реал ізо1.1.11111 іІ ш1сту111111 і1 
фу111шіо11ал: 
- створс1111я тр:111з11І{ції; 
- pe1111ryna1-111 я тра 1оа1<ції; 
- ВІІJЩЛСНШІ тра11 ·Jа1щії. 
Для створення тра111а1<ції 1 ютрібво: 
- зn1іт11 ш1 с;зІ1т веб-додат1<у; 
- у фор~,і а11тор11з,щії 11отр ібно овест,-1 <.:J 1<.:1про1111у мч11:су та п.~рощ, 
обЛЇІ{ОООГО 331111С)' кор11стуоача та ІІ<ІТІІСІІ)'ТІІ ІНІ КІІОІІ І()' «Уоіі1Т11)) ; 
- у ~,с11ю 1н-ші1,1ції uеб-додатку ю1і101уп1 1ш 11у111<т «Тра11закції»; 
- 11ат11с11ут11 І(ІІОПІ<)' «Стоорнт11 трш1за1щію»; 
- ЗМlО[ІІНІТІІ поле ТІІП, ОП І1С, n11хід1111і1 р11Х)'ІІО І( , cyr-1a та дато ; 
- 11ат11снут11 1шо11ку «Стпорнт11». 
Сторі н ку створс11 ня тра 1 1за 10.tїі кор11стувача ·юбраж~110 11а р11су11ку 13.18. 
123 
4R2.ЧдТУ. 22 І R І 9-ОІ 3~-01 
Стоор11т,1 траtt)анuІю 
Ї9 rІ•\•••І' 
д ... 
І є / 1019 о~- ,е 
;;;;.;.;;,; 
f>11су11о к 13.1 8 - Сторі11"" ст1юре1111я тран:ннщії ко1н1стува•1а 
О1111с поліп сторі11 к11 стnорс1111я тра11за~щії ко;JІІстуuача: 
- ТІНІ - 011nздаюч11~і СПІІСОІС ЮІІІ 0 116ору ТІІІІ)' тр:.111за 1щії (р11су110 1( 13. 19); 
- ОІІІІС - те 1<стове i-lOJIC для ОfІІІС)' тра 11зn 1щії; 
- онхід1111іі J)ЗХ)'ІІОІ( - RІІІl[ІЩ\ІОЧІІіі С~-ІІІСОІ( 11р11 з1111че1111іі Jtjl}I он бору 
1111хід11ого раху111<у І{Ор11стувач:1 (р11 су1101< 13 .20); 
- сума (1т хід1111іі рахуноt< ) - ІtІІфрове ІІОJІС ІІІ)ІІ'ІІІНІfСІІС JIJl)I ВІІСJ ІС ІІІІJІ су~111 
JVНІ в11хід11ого раху111<у; 
- дата спл 1-1 паю•1с ВЇІ<НО l(il JI СІ l)IIIJ)II )IJl}I 11116ору )t!І'І'ІІ 
тра11за1щії (р 11суrю1< 13 .21 ). 
Створити транзакцію 
Тип 
...1 111 с1 ,,1·  1111Gopy т111 1у тр1111 ·J1ш11ії 
Р11су1юІС В.19 - І311 1 1111tн 1 "' 11111 
L 
482 ЧД'І , , 2 
• J • 21S19-0 1 34-0 І 
створ1н11 транзакцію 
()nl\C 
!:oЩtt3/1bttl ПОСЛ}'f\1 
s,ixiдtt11й рахунок 
Картка дnя виплат 6810 UAH 
rа~анець 950 UдН 
.__к.а..р.т. ~а "Універсальна· - 1000 -UAH 
Р11су1-1ок В .20 - В11пад<а ючи11  СПІІСОК 011бору DІJХІ· ДІІ ()ГО раху11 ку 
Створити транзакцію 
rиn 
Витрати 
On~c 
< М~у : 2019 : 
Ко~ > 
,,.,, Ти 1v, Th f( Sa Su 
Вихід 
2 3 4 5 
І<а1 б 7 8 9 10 11 12 
13 14 15 16 11 1!1 19 
Сума 
20 21 22 23 24 25 26 
235 
21 28 29 30 31 
Дата 
~ 2019-05 18 
Рисунок 13.21 - Слтнзаюче вікно 1<алендаря для онбору Jtн'1 11 трш1зш,цїі 
П ісJІя створення 110130Ї транзакції, буде npotJeдc110 11срср11ху1нж зш111шку 
кош·,;n на рахун1<у де проrюднлаоь 1'ра 11закція і оона uiдprt'.JY оідоброз, 1·1•1,с,, у 
cn11crry транзакціїй 1<0р11оrувача . 
125 
r 
-182 . ЧДТУ. 22 І RІ9-ОІ J4-ОІ 
І(NІ ІІ t-()р 11ст\• в:-1ч о"" 
... . \) IІJ)DC ПІІ1 TJ )· · ·•· 
,111111 к1 111 (< І kpi.:"a·ш у фор~,і ст1юрс11 1111 
t1):11\З:1КІ\ІІ З Л О ІІТІ,СЯ ТСКС1'ОІ}С 
. ІІолс 1< Р11ху1юк 11p11·11111 11i.:11шm. Я t<ШО 1ia,110·1а  
011:(ід 11ого раху11 1.у , раху11к,• 11 )tt·3 1111 , . .. . 
• • І ІСІІІВІ р1 :111 11 , )' формі СТІІОJ)І.' ІІШІ трн 11·,а1щI1 
,-ni-oж з яв1111,ся щ11Iе <<Сум.~ ( i, :ix , . 
. • · ) ІІ()~; 11р11 з 11n • 1 с 1111» )>>. 
Сrор111ку рсд:JГ)• оа 11I111 трщ~зr11щії ~;ор11 сту11а•1.1 :.1 т1111ом (<Г\i.:pi.:i.a1» 
зобрмкс110 11.1 р11су11ку 13.22. 
/)tno,.,, . )ООО USD 
C)'V.t (с.-ц·і4.,,, ~, І\.t•ywc11 ) 
Г260~ - --
----
,оо 
л, •. , 
І ~ І 201"·0~ · , в 
1·411:ііі 
Р11су110" 13.22 - Сторі1tІ(а ст11орс I11 d н 1 ра11з.11щії 1<ор11сту 1.1ачn 
Дт, r,сдагува1111я раху111<у 1ютріб 1 ю : 
- заііт11 11rt сайт веб-додатку; 
- )' формі rtотор11зації 11отріб110 ІІІІССТІІ СJ І С\Пl)О ІІІІ)' :-щрссу та ІІ ІІрОJІІ, 
облікоrюго заm,су Iюр11стун.1•нI т,1 1шт11е11ут11 на "'ю""У «Увіііпт; 
- у ме11ю тшігrщії всб-дод:1т1Су 1т і 1< 11ут11 1111 I Iу1 I"т «Тра11заю1ії»; 
- 11 меню уг1ра11лі1111я тра 11з,ш11 і :ш11 11.І Т ІІСІІ )'ТІІ 11!1 іІ<ОІІІ()' J)LЩІІІ)' ІН\ІІІІІІ ; 
- 1~1і 1111т11 поля траІІЗШ<Іtії '"' с1орі1 1 11 і J1L')l1II )' ІН І І І\11I ' І'J)fІІІ'jі\І{І(ЇЇ; 
1 2б 
482·Ч д.ТУ. 22 І 8 1 9-О І 34-0 І 
1101 11сну11 1 1шо11")' «Збсрс~,н». 
Сторінку рсщн1•nщ1 11я 11) 
... 
О ІІзntщ11 1<op1tc1)1on•ia 1обр:1жс 1 10 110 р11су 11ку 
13.23. 
Cyuo (&~~""" Р.,")'І,о<) 
l)IO 
1141::18 
Рвсу11ок 13 .23 Сторінка редагуnщшя 1·ра11з<11<ції кор11сту1.1ач:1 
Длs~ видалення тра 11за 101ії корнстувача потріб но: 
- -зайти на сайт оеб-,цодатку; 
- у формі а в•rор11зації потрібно 01.1ест1 1 елек·, рон ну адресу 1 а п:~ рол 1, 
обліrсоооrо зшщсу 1<ор11 стуоа 1 1а та нат,1 сну·1·11 11n ІСІІОПІС)' «У ні П 11 т; 
- у ме11ІО rr oвii ації веб-дода 11<у rсл ік11ут11 110 пу 11 кт «Трr~нз,нщії»; 
- лідтвсрди111 в11дале111 1.11 1ранзn rсції, у спл 1 1 ошо11о~ rу ві101і в11;щлс111111 
тра11заю1ії 1<ор1 1 стуоа 1 rа, )І D'ГІ1СІІ)'І3 І JІІІ І(fJО ІІ І()' «ВІІдnЛ ІІ І ІІ )), 
Cплrinaro•1e вік110 uндл11е1111я транзшсції кор11с·1 y m1 •,n 1обр11жс110 1111 
prrcy11кy 13.24. 
127 
~ 82.ЧДТУ. 22 1 ~ 1 9 -О І 34-01 
ltt\4'tt1 
- о.... •
д.,. ,.•.• ,..,_ 
..'., -.-.•.".' А 
(· c.. . с,_ 
1JІ.tt• ""r"••-.··· с,,... 
-:(\U·~·"". .. 11~xi,, 
"'0<.~- r •Р~•• ••• 1)).(t 
fltol'l,11• lЩ! 
◄· &to!?pr,tr. r\l)tt. ... 
00~1\)19 ..,. ., .._ . .... 
~...,}., .,,..n," •tOU.\H -
(• ... 
n~'\I"'"" ()5 Оі .:"01t ...i r-._. --~ ),Xl,l,Щf -
f i",V. , ш 
➔ n.o•..t д""С.,.'J 
.. 01,01 Ja1t д,.,(1\. . 1 
,~, .\N uIO 
.. t..ov,·~•-! ав 
ОІ.с» Х11t 
n~ ..... '-•r·••ан /(\\) 
, .. rvi.., VAH 
◄~ (),,irp,i .. n.,1,a ,....,. аа 
0611> 1019 •:..~•····· )Ю UА.ІІ аа 
::nt'f~tA) J. . •п• ,01,,,-., ""'"" ' 
06Оі)О 1О ~f'"••N• 1N'IU• t• ,.. 
..... ~"n~•• Іащ .. •u• 100 
◄-11 .. ,,,.,.. . u•н 
(,~,. ~,О\ )010 '•щ"'~" l10 U.AJ4 
(• 8..np., .. ав 
""" 0<.0>JQ19 Дtt'-,}Vt lOUSU 
,І . 
Р11су1юк Г3 .24 - Спл II rз:1ючс ві к110 11 11 .щ1лс11 11i1 тр ,111 1 ,н<ції 1<ор11сту-nа ча 
128 
До11 111С'І~- 1· 
\\'ЕІЗ-ОРІСНТОВЛ І -І Л СНСТЕІ\•І Л ОGJ І І КУ С І М Еі:11 1 0 1 -0 Б ІОД)ІСЕТУ 
Графі•111і матеріол11 
4 82 . ЧДТУ . 22 18 19-0 1 90-01 
Л 11сті в 15 
rозро611 1 11с - - --- ~-=---- - J\1Іул 1,че1 11,о 13 .13. 
1 kркас11 , 2022 
4R2.ЧДТУ. 22 1RІ 9-О І 90-01 
- Cx{'Mfl fin111 /t.n1111x 11pnct-1y 
-~ ,, ,-n'-Art,nм 
І '• 
lt(-,-0,ft< . .,;y rs 
l,j 1n1~ 
ldlf!I~ 
.... t,'f'f' tm8'tr\1 - " ... ~ 
-- n t 'N' t.Ni•a:1" v~ І((.\ 
11:i,n.дt'("CtJ1111C, imtpf"f 
~ .,,,.,,,,. 1.,,Nr-t <Ntrl<" ' >1'"f'"QI .ЮІ 
,,.щ,,,,., ( ~,r.l(t" V.,')•"QI.IOI 
l.~!l:.fo,f! C"itf"t'f 
,-
t'U'ІNq- • ~ ,....., tl\.,1(1. . ~MQISO\ 
t~~Ji'\t1d ntt9tч 
Ь.lot,tt .,.,~~ 
. ~,'focfltC"P(°f с,,,"""" <ІWХ•. ..., .,..,<11J2І 
ut~I.O '"'C-Ol"'f i,._ 
~с,1,0,, c!\1111-,r, v1ry1nptl00J 
c,<t Clllt ~ 
ап~• 
~ 1d ""9" 
. """"' w,ю" v~SOI 
nns.a:t-o,,,Т-~~ 
~ 
L... ., 11'\'91" 
~ 
№.,,. <:f\,>~<:Іе< •·••r•'>;! ІЗОІ -- асса,,. І У~• 
1d '"1'9" 
na""' ctwю tr v" ""'О( 30) 
J>11cy 1юi- Г. І - Схема ба:т ш11111х 11poc1rry 
Ді:111щ:\1а І>І• І > 
Ро3)(ід кор11стуеача 
1 
,.. Обробка еитра111 І1◄формац1я npo рахунок 
кор11стувача '---------~з Рахун,u1 
Інформац,я npo ро,х1д 
' 
2 Витраn. кор11стувача 
Інформація nророщд кор11сrуеача 
2 Рух ПО )іІПІІWКЗМ ІІЗ рахуНІ,)' 
Перераху11ок корщ:тvеача 
зan,1wxy на раху,н,)' 
130 
482· ЧДТУ. 22 18 І 9-0 І 90-0 І 
Діа ,·тщ/\щ 0 ')J)i ' 
• ~НІТІН ІJІІКОJНІСТ:1111111 
Рисунок Г.3 - Діагра~,а варіантіо в11кор11ста~111я 
Модель IDEFO 
Тe xr1Nнe завдання 
•• 
Доход11 корш;туеача . 
--,, 
Актуаnьн1111 стан рахун,у кор11сrуеача 
Перерахунок зал11wІ()' на ..  
В11трат11 І(Орщ:rувача разунку І(Ор11стувача 
-
r 
'. , 
Сервер 6а3а ДдІНІХ 
І З І 
'1S2 . ЧДТУ. 22ІRІ9-О І 90-0 1 
ді:н-1щ ~НІ дс~.ом 11оз 1щії 
'Т~J-~""' 
('1•!'(\lnt •.t!("lt<""r8""'1 
- ~. .. - •• 1\.,,,., 1-
' 
- ~-Ul'-.f)' -
2 
А.!11) .., .~ JAIМliJC• 
- , ntPf'OiiW'(l10 ,ц; o,l:J'y..,., 
W,ІfW') .._. f)a._~ 
с...,..., 3 
Ь.u,2а...1.11 
Р11су11ок Г.5 - Діагра1щ1 деком по11щії 
Форма :1отор11з1щії 1.:0 1н1ст)' о:1•1а 
Сторі111,а фі11а11со1111 х 11ідсум~сів 1Сор11стуо:1•1:1 
~ Поточнии баланс ➔ lloJ~ ~ Ви1ра111 
7760 UAH, 3000 USO 10300 uso 3880UAH 
Графік виrраr Графік доходів 
Х lvnop1Л:кrnop1 
С] д~Ф~" tiso □ (h;-.н.·~~.,·;зт UА.Ч (:::=J [!~•,и tt50 CJ (а~. ..., :..·.-:!,. .. •i · u~ч 
CJ Гt•:J'r_'__, l1АЧ с:::::] rг1•.1нt-.,.'; u~ч 
ІОW) • 
І(V 
,;х, 
. 
о ' І І • І , lt l1 •t -.o І І о I І • І •І 
С) ~ ~•'- t ~ ~~ ~) ~~ ()) ~) ~) *~ "': ~: t ~: 
~~ ~...,. .~ ,'.)~ g ,' .. ) ~; ~ ~\ ,' 1') і> .._, t' ,' 
І) І- , 8 - C·i·oi)1.1 1 кn I1 н.  11,.., ,,совш· , r,іщ;у• :. 11, ін 1.11р1 1стувн•1:1 І І С )' ІІО І( 
132 
4 R2.ЧJtTY. 22 1RJ9.() J 9().() J 
Mcmn 11nni1-n11iї n('{i -,1n,tnн:n 
Х Імr1ор1 /F. ~ с,юr1 
Р11су1~ок Г. І О - Mcttю 111111іпщії нсб-JЮ/111 r1-a 
Вілїt,с•11 1 фі111111r111111х 11і11су .\І'-ІІІ 
t-0 І) 11 С1)' 1111' НІ 
~ По1очн11й баnанс ➔ Дохід f- 8ІНРJІІІ 
7і60 UAH, 3000 USD 10300 uso 3880 UAH 
Графік витрат Графік доходів 
c:::J д~":)),tТ U5!) c:::J Ка;н, 4 ;.л.;,, ~.,"f\1t L•д.н (=з !l~rc1.,, USD с:::::] <ao,-J ~, i ~.t"!1\1r 1.,•. .\ ~• 
c:::J ГJ•J4•f., UЛН 
,:{~ с:::::] f J ' IJ"<'o> UNI 
• 
•fj) ;:,оо 
•~Jj o:<Q 
·: ~) ІСОО 
·;:-: 6((1) 
'(/Jj : 'l:() 
~ооо 
І [.(ІЗ 
J>11cy11otc Г. 11 - І3 i J 1;1rL··1 11 ф і 11111 1 е,111 1 1х ІІіJ1еум1< і 11 І\()рІІсту 1111•н1 
482. ЧJtTY . 22 І S1 9-0 І 90-0 І 
f(11.пc1111.11 r л.11 ,~ nІІ(іоrу ІНlТІІ ""'•111·ку 1·11к і1111111nіт1нн·о 11cpi0Jt)' 
< м, 1· .• 2019 : 
, > 
M:i " \\'j> Іt, г, .So .Su 
а 2 3 4 s 
6 7 8 9 10 11 12 
13 14 ,s 16 17 18 19 
20 21 22 23 24 2S 26 
27 28 29 зо 31 
1 nn• r,,,r..,r ІJд/t 
11 
11 
Р11су1юк Г.12 - Кзлс1щар лл я в11бору лз111 11очатку та кі11н11 зоіт11ого періоду 
Сто рі111,у 11срс1 ·.111щу і11форм11ції 111ю J):1ху1щ11 i-up11c1) 'flrt•111 
+ Cttop""' puy,.o1 
,.. . . 
т.n • • .,.,01 • Wл•нс 
Лtrюi..- , Р.1,унос USD )000 ш 
.c..»p,c.J АJІ• •••n.11.11 ~~,)ft ~ UАІІ 6е І0 Ш1 
r. J\tJ..,tu • fОІІt <.І UAH 9\0 ш 
Р111:у1101: І ~. І З - Сторі11~-у 11срегшІJІу і11форм:щії 111ю p:1xy1 11-i1 1:ор11стуоа•1:\ 
Сторі11 s.:1 t: 111орс111111 ра ху111су 1.op11c11·ua•1a 
... 
х , ..., ..~ ,., ... ,... . ,.., 
SJli·A 
Р11(:у1101 , 1·.1 t1 - С-1 орі11 ica ст1юрс 111 н1 раху 1 нсу i.0111 І L''І ~ 11;1' 1:1 
134 
4S2 .ЧДТУ. 22 І RІ9-О І 90-01 
0ІІІІ:1/\11 10'ІІІіІ С ІІІІСО І, 1щ (і11ру 1'1111 )' J1 11Х )' ІІ ЮІ 
·І  
~Jpl ( ,\ 
PJ ,-.\ ••Oi< .І  
v ,-.f• 
Р11су11ок Г. 1 5 - 011nnn:1ю•111ii с11 11соІ( 0116ору т11nу р:1ху11 1<:'І 
В1111:щ:но•111іі С ІІІІ С()І. IJIIUUJІ)' naJІІOlll JІІІ Х)'ІІЮІ 
1'11су 1 ю~- Г.16 - ІЗ1111::1.u:1ю• 111 іі с11 11сок u11Gop) о:1лют11 p;ixy11i;a 
CroJ) i111.::1 p1:Jt:1 1,•11:1111111 раху111.:у ~.:0 1111стуrш•1а 
Редаrуеа111 рахунок 
Х Іvr1op11( ,cnup1 
100:J 
-
r11сунок Г.1 7 - Сторі 1 11«1 peJ\;11 ) ІJ,І І ІІІЯ р:~хувку 1(0J)ІІСТ)'U,І'НІ 
135 
482.ЧДТУ. 221 8 19-ОІ 90-01 
С11 .r1111н110 •1 с 111·1·
' 11 0 11 11/ЩJІС ІІІІ И J!ІІХ)' І ІІ,)' ~-о р1 1 сту11а• 1 11 
В111ш1Nmя рахуносу v 
,.. .  
т"" 1&,,,0,1 '" ..... 
Деrщ" 
Ра')"°" USD ;ооо Ші1 
І;.арn;а w ,.,rw, 
К.рtо U.дlt 6810 ,в 
ra u,чru• 
Го1іац UAJІ 9SO Ш1 
l:apr<a "Y'flerix~,.,_,• 
К.pr,f UAH 1000 Шj 
r11су11 ок Г. І S - Сrш 1 1в.1ючс о і ~-1ю ондале 11ш1 pnxy11i-y 1,ор11стува•н1 
Стор і 111,у Іl <' [)С І'.'lІЩ)' і11форі\ t.ІІ1 ії ll f)O UІПfІ:lТ ІІ 8-О J) І ІСТуuа•1 :1 
Транзакції 
♦СтwорІІТМ тр,КJОrці,о 
а Трзюащіі 
Фі.,.,~тр-.. v 
Х ty,10p1(t <<ncpt 
,. .. ""У•О& 
0.М< д.t, -....,.... СІ"' .1 ..... ., . (),о• 
t- е .. ·р-1 1, ~ :8'111' 090-~ 2СІі (ІуСJ ,I..U 6\ОUА,Ч 
v1.ч· 1213 
t-,fr;:-~r" n;-::,~ OJ(~,0,9 (J;~u 4,u SX>UМ 
І,._. .~  \І" r.m 
➔ n:.&J Art:,r cr1os 10i1 4 r.,,1n ІСО U\D ао 
f- є,,,р,,,, (Qu1 ••.t~ ОІ~,019 t_.;:щ., »• xwv...н 
r.x.,1r 11 ,,лw r.m 
f. F", ,~·, П{'І ; . (-l;f :;~O! lOІJ .:,;,,_, д,, )1(' u.&•, 
t '11.U ' rm 
=Г 1t,:НІJ 3,. ,-., rC1<!.0' Ootl/01? tj:,·u .:.•.1 tOOL..t..М і ·""'"..t"\/,~ 1(\) 
,,;.л, • """ r.m 
f- f,1;-., .. ! t ,,;,.,, OoG\lv! I ( 1u1•t" 1 mv...,, ао 
f. f ; ,t,11, :u·~ 0-t ~~ XH J t~),T /~ U\D m 
(-f,тr,,·•; lkp,a ,•t :- ~)OSX119 ( І .J t • t--• ~(\ UJ. .. 
-rm 
r11cy110" Г.19 _ с1 орі 111,у 11срсглнду і 11форма1Jії 111ю 111~ тр:п 11 i-,1p11t·1у 11а•1а 
136 
t 
4 R2 .ЧJtTY. 221~19.()J 9().() J 
1'1 с 11111 •І•І rн, 1), .• 
· • ,n 1 rnнн1к1111І к111111r1ynn •1n 
~ r,r , •.. ,,. 
fl, ... \,11 ..,  ... ,.. ..( ~ 
~ .. 
Piicy i ю i( Г.20 - Мс1110 фіт,трін 1lJ1111 1111щill ..:op11c ry11n•111 
В111н-.11:1ю•111іі r 1111r111, 1111(і11ру ·, 1111у т111111J 11к11ІfІ 
Тран,акції 
+ c,nop,.,,. тра,114щі,о 
Р~tу,ФІС nf'Ht)HJ'4 t,н•• 
о,, 
Осі 
Bи1,u1,t cr-
aЛо•=ІЛ -1н• ro•l~-:.- 060>/019 
100 UA~• Q -,j 
Р11су 1ю ,, Г.2 1 - В1111,щnюч 11іі с11 11 с1) 1с вttбору т1111у ·, р:111 з:1 "11 і11 
В1111:1 1tаю•111іі CIIIIC(lt, 1111Ііору 1111хі1111111 ·0 1щху111.:у 'l'J!filІЗ:tIOtiii 
Тран,акції 
+ c,aopмrt4 тр,.,оащі,о 
Оr1 ,щн,и;, ра.-;)',.ОК 
' .1 
Ofllll' J}t-Н<)J; + , 10!.Ю HSU 
),..,, І r• •\ .,,,,,..1,... 9~0 uлн 
J<.,p, ,;a Y•••Ot"pl ;н11"н.1 !ООО н1.1 t 
1 ( -,р,~.;, 1'11~ 1н•н,,.,, , •Н()() UAI I 
P11cy1tol( Г.22 - 131111.tJtaIO •ІІtii С ІІІІ СОІ( ІJІІ fі11ру 1111 :,. і1 1111н ·11 J)IIX)'III()' ТрО ІІ'J(Н(Іlііі 
137 
Дщ 
,-, 
j G ,019онв 
-
J>11cy1101< Г.23 - С1 орі111.а спюрс111111 тра11зак11ії кор1 1 с1 у11н • 1 а 
U1111:І iJ :ll(J'lllii t: IIIICUІ, UIIUOJIY ТІІІІ)' ЧНІІІЗІІІ.ІІЇі 
Створити транзакцію 
Омr ІJІИ ' 
/Jо,ід 
Пfpeo<J) 
f'\v 1~•1 r,oпo,,, flV\. 1111 " 
Рнсутш 1·.24 В1111о1Jн 1111 1 111Іі c1111c-ntC 111 1Gopy п111у 1 р~11 1 ·1111; 11ії 
І 
•-
4 ~2.ЧJ1TV. 22 І R 19-0 t <)().() І 
JJ І І 111\11 і\ 1n '·І II і і 
<'rl ll('rtІ. А ІІ(Їnру fl tt \li,111n1 n f):\"~ ll h"~ 
оеорю,, , ран.закцію 
D('П0 )ІН 30()0 USD 
' ra"J"ru1, 9:50 U4t-­
K~p1,.J ">',.,оер~аn ь••а · 1000 UMt 
Р11су 1юк Г.25 - І3 1t11::~лзю•111іі c1111coi- u11fio py 11 11 х ід 11ого р:1ху11ку 
С11 .'н 111 : 110•1с вію,о i-a .rt t' 11 i1a p11 л.rr я u 11бору 11:1п 1 тr :111 1 111.нії 
Створити транзакцію 
т,,n 
8и1р.11" 
Опис 
Koi, < t/ 1/J/ : 2019 : > 
~, fu ....... //1 ; , 5,: Ss 
Вихід 
1 2 3 4 s 
К.11 6 7 8 9 10 11 12 
13 14 1 5 16 
Cyi,J 17 ІІІ 19 
20 21 22 23 24 25 26 
23S 
27 28 29 зо 31 
Дата 
І Q] 2019·0S· 18 
Рнсунок 1·.2ri - Сш111вою•1с вікно "ане 1 ин~р11 ю111 111,fiopy ;1ап 1 тра11 :~а~- 11 ії 
4R2 . ЧJtTY. 22 І R І 9-О І 90-0 1 
Сп1рі111 ·n с 1 nn . .. 
' 1н• 1111111 рn11нн,111і кn1111 c-1 ynn •1 11 
;; ,., .... ,. 
100 
11· ,·.РІ 
r11су11ок Г.2 7 - Сторі 11к3 стnорс1111я тринз:~кнії кор1,стущ1113 
Сторі11~.:.1 рсда1·у 11а111111 тр.шзаю~ії ~.ор11стув,Р1а 
д~•J 
!:З t 10 •~ 0\ 1е 
FФ·ЧІ 
Рису1101( Г. 2х ( •· 1 ор•1 111 ,, а І )•, •,11,· 1 1 )' 11,ІІІІІJІ І )JіІІІ'НІКUЇі l< OJ)IIC І )'ШІ•І:1 
) .І() 
4 82.ЧДТУ. 22 1 8 1 9-О І 90-01 
Cllлii oaю,,c в і ~.11 0 в111щ.11с 11 1111 тра11заю1ії 1.01н1стува • ~а 
)( 
т• • Onwc '"•'-'"•А r•  .,..• • 
А•'• РО',-0• 
•· 1:1"тru..,·• rv- nP.•••.,.•.,.•• с,-
(tа,рц.-..,,І 
180SJOt9 
nou:,..,, С.•ра_. АІІ• що 
1мnм, \JДJІ 
f. l!. . tfltt,o Ро1141.-
O").0U0 19 К•/'11 1.• №• ti~OIIAІt -
,.-nмt ав 
t, 8мrр.1,.- llpo.ti•fl(I" OU.U).1019 С..РІ Іt.t АІІ• 
..... SIOUNt 
,н,, Ш1 
. ..) до•'-1 . 
Лtf\Ot111 
.. 01.0SJOІi д~~, .. , 100 USO 
◄• 81r11,,,,. . ,~,..І,.,. І І. § 
Іt,ІjІ ' 
01.os.10,9 "'Р'•• АІІ• ,ооо . 
'""ІІІІ VAJ• Е 
+- t111,p,, .. r\od.A t .:.,Q,t <»01-.101? 1t1p 1u 4111 J}O \J~Іf 
Ui/\A11 ав 
с fttpt.,•J J.,..,,, ror'81,,. Oi,i,OS,/019 .(...tp,,!,U.,& ,111 100V,\tl fІWІl'ltl.ii. 100 
. - ""'! 
r11cy1ro1< Г.29 - Сr1л11uаю 1 1с вік 1ю в1-1.J.щле 1 1 ш1 тр,111закції 1юр11 стув-nча 
14 1