T: 598 944448  facebook  მისამართი: წერეთლის 161  
img WWW  eb.ge
×
Frontend  საბაზისო კურსის დაჯავშნა
მიმდინარე სტატუსი: არის თავისუფალი ადგილი

კურსის დაწყება დაგეგმილია 1 მაისიდან. სწავლება გათვლილია 4-იდან 6 მოსწავლემდე. კურსის ხანგრძლივობაა 12 კვირა სულ 240 საათის ხანგრძლივობით, სწავლის საფასურია 1830 ლარი. გადახდა შესაძლებელია როგორც ჩარიცხვით, ასევე განვადებითაც.

იმისათვის რომ დაჯავშნოთ ადგილი, საჭიროა წინასწარ შეიტანოთ 130 ლარი ჩვენს ანგარიშზე და დაგვიტოვოთ საკონტაქტო მონაცემები. ადგილების შევსებისას დაგიკავშირდებით და მოხდება ხელშეკრულების გაფორმება. შეტანილი თანხა გამოაკლდება კურსის საფასურს. გაითვალისწინეთ, რომ ჩვენ ვიტოვებთ უფლებას უკან დავაბრუნოთ თანხა და გავაუქმოთ დაჯავშნა. ჩვენი მხრიდან შექმნილი ნებისმიერი შეფერხების შემთხვევაში კი შეგიძლიათ მოითხოვოთ თანხის უკან დაბრუნება.

მონიშნეთ სად ჩარიცხეთ თანხა
 
 
მიმღები:      
 GE10BG0000000100734063
 GE88TB1828136010100005
 მერაბი სურმანიძე
დაგვიტოვეთ თქვენი საკონტაქტო მონაცემები
მეილი: 
ტელეფონი: 
გადამხდელის ვინაობა: 
 
 
 
კითხვები თუ გაქვთ დაგვირეკეთ: 598 944448
Frontend-ის ინტენსიური პრაქტიკული კურსის დაწყება დაგეგმილია 1 მაისიდან. კურსი გრძელდება 3 თვის მანძილზე დღეში 4 საათიანი პრაქტიკული მეცადინეობით და სულ 240 საათი ხანგრძლივობით. კურსი მოიცავს ფრონტენდის ყველა საბაზისო საკითხს რაც ვებსაიტების შემუშავებისთვის არის საჭირო. მოგვწერეთ ფეისბუქის გვერდზე Frontend კერძო კურსები ასევე შეგიძლიათ ჩაერთოთ ფეისბუქის Frontend-ის ჯგუფში. Frontend, Markup, Interface - ქართველი დეველოპერები
რჩევები
როგორ ვისწავლოთ პროგრამირება

პროგრამირების შესასწავლად საჭიროა თეორიისა და პრაქტიკული მუშაობის შესწავლა. თეორიის სწავლა მხოლოდ წარმოდგენას იძლევა იმაზე, თუ რა ხერხები და ფუნქციები გამოიყენება პროგრამირებაში, პრაქტიკა კი გვასწავლის იმას, თუ როგორ გამოვიყენოთ ისინი. პრაქტიკაში შესასწავლი საკითხები გაცილებით მეტია იმაზე, რაც თეორიაში ისწავლება. ზოგადად არსებობს პროგრამირების სწავლების 3 მეთოდი: 1. ჯერ თეორია, შემდეგ პრაქტიკა 2. თეორია პრაქტიკით 3. პრაქტიკა თეორიით. პირველი მეთოდი არაეფექტურია და ბევრ დროს საჭიროებს, შედეგად ვღებულობთ 5 წლიან უნივერსიტეტ დამთავრებულ სტუდენტებს, რომლებიც ეძებენ უფასო სტაჟირებას რომ პრაქტიკა გაიარონ. მეორე მეთოდი შედარებით ეფექტურია, მაგრამ მოკლე დროში ვერ ხერხდება პროგრამირებისთვის საკმარისი უნარების ჩამოყალიბება, გრძელვადიანი კურსები კი ფაქტიურად არ არსებობს. მესამე მეთოდი ყველაზე ეფექტურია და ითვალისწინებს კურსზე ინტენსიური პრაქტიკის გავლასთან ერთად პარალელურად დამოუკიდებელ თეორიულ მომზადებას. ეს კურსი სწორედ ამ მეთოდზეა დაფუძნებული.

რა უნდა იცოდეს Frontend პროგრამისტმა

Frontend პროგრამისტად მუშაობის დასაწყებად პირველ რიგში საჭიროა მთელი WEB დეველოპინგის ზოგადი ცოდნა თუ როგორ ხდება საიტების შემუშავება და პროგრამული უზრუნველყოფა(WEB ანალიტიკა, UX/UI საფუძვლები, ტესტირება), შემდეგ საჭიროა მარკაპის კარგი ცოდნა(HTML, CSS, JS, LESS/SASS, jQuery, DOM, SEO), ჯავასკრიპტის რომელიმე ფრეიმვორკის ცოდნა(ReactJS+Redux/AngularJS/Vue), მუშაობისთვის საჭირო ინსტრუმენტებში კარგი გარკვევა(GIT, VS code/Sublime Text) და რამოდენიმე ისეთი საკითხი, როგორიც არის BEM მეთოდოლოგია, კოდის ვალიდაციაზე შემოწმება და ა.შ. ამ ყველაფერში იგულისხმება არა თეორიული, არამედ პრაქტიკული მუშაობის ცოდნა, როცა პროგრამისტს შეუფერხებლად და სწრაფად შეუძლია კოდის წერა.

რა არის საჭირო მუშაობის დასაწყებად

ნებისმიერ ვაკანსიაზე, სადაც პროგრამისტს კარგ ხელფასს უხდიან, აუცილებელი მოთხოვნაა მინიმუმ 1-2 წლიანი გამოცდილება. დამწყები Junior პროგრამისტის მოთხოვნებში აუცილებელია თეორიული ცოდნაც და პრაქტიკური გამოცდილებაც(მინიმუმ რამოდენიმე საიტის აწყობა). ამიტომ პროგრამისტად მუშაობის დაწყებამდე თეორიის კარგი ცოდნის გარდა აუცილებელია ისეთი პრაქტიკის გავლა, სადაც პროგრამისტი დაეუფლება კოდის შეუფერხებლად და სწრაფად წერის უნარებს.

რას გთავაზობთ ეს კურსი

დღეს არსებული კურსების უმრავლესობა ან ძალიან ხანმოკლეა(20-40 საათი), ან არაეფექტური ონლაინ ლექციებია, ან ძალიან გადატვირთულია შესასწავლი საკითხებით, რის შედეგადაც კურსდამთავრებულები ვერ ითვისებენ მუშაობის დასაწყებად საჭირო საკმარის პრაქტიკულ უნარჩვევებს. ჩვენი კურსი გათვლილია სრულყოფილ ინტენსიურ პრაქტიკაზე და თეორიული საკითხების დამოუკიდებლად სწავლაზე(სახლში მომზადება). პრაქტიკა ძირითადად მოიცავს მარკაპს(საიტების ვიზუალის აწყობას) და ამასთან ერთად ვებსაიტების შემუშავების ყველა იმ საკითხის პრაქტიკაში გამოყენებას, რაც აუცილებლად უნდა იცოდეს Frontend პროგრამისტმა. კურსის გავლა დაგეხმარებათ ადვილად გაიაროთ სპეციალიზებული კურსები და გახდეთ ვებ ანალიტიკოსი, ტესტერი, პროექტ მენეჯერი ან Frontend პროგრამისტი. ასევე კურსის გავლა საკმარისია მარკაპის პოზიციაზე მუშაობის დასაწყებად, ან Frontend პროგრამისტად სტაჟირების გასავლელად. კურსი მოიცავს ყველა აუცილებელ პრაქტიკას, რომლის გარეშეც სრულყოფილ Frontend პროგრამისტად ჩამოყალიბება შეუძლებელია.

კურსის აღწერა
რა საკითხებს მოიცავს კურსი

კურსის პრაქტიკული საქმიანობა მოიცავს საიტების ყოველდღიურად აწყობას, ყველა თეორიული საკითხი, რასაც ეს კურსი საჭიროებს, იქნება დავალების სახით მიცემული და მათი შესწავლა უნდა მოხდეს დამოუკიდებლად, კურსზე მხოლოდ მათი პრაქტიკული გამოყენება მოხდება. შესაბამისად, მოხდება სხვადასხვა ტიპისა და სირთულის საიტების აწყობა სხვადასხვა ფუნქციონალით, რაშიც მაქსიმალურად იქნება გამოყენებული პროგრამირების ყველა მეთოდი და საშუალება. ასევე მოხდება საიტების აწყობა სრული ციკლით, ინფორმაციის მოძიებიდან ტესტირების ჩათვლით, რა დროსაც პრაქტიკულად იქნება გამოყენებული ყველა საკითხი, რაც არის ვებ საიტების შემუშავებასთან დაკავშირებული. ამ საკითხების ძირითადი ნაწილი ქვევით, კონსპექტებშია მოცემული.

პრაქტიკული სწავლების განრიგი

კურსი დაყოფილია 12 კვირად, ამ კვირეების განმავლობაში მოხდება სხვადასხვა საკითხებზე პრაქტიკული მუშაობა. ყოველი კვირის წინ ჩამოიწერება თეორიული საკითხების ჩამონათვალი, რომელიც უნდა მომზადდეს დამოუკიდებლად. ყოველი კვირის ბოლოს კი მოხდება შემაჯამებელი განხილვა. კონსპექტებში შემავალი ყველა საკითხის ათვისება მოხდება პრაქტიკული მუშაობის დროს.

1 კვირა: მარტივი საიტების ჩარჩოს აწყობა, თეორიული საკითხების მიმოხილვით.
2 კვირა: სხვადასხვა ტიპის საიტების ჩარჩოს აწყობა, ბლოკების განლაგებაზე მუშაობა.
3 კვირა: საიტების სტანდარტული ელემენტების გაკეთება.
4 კვირა: საიტების ფუნქციონალური ელემენტების დამუშავება.
5 კვირა: საიტების ძირითადი ჩარჩოს აწყობა სრული რესპონსივით.
6 კვირა: ასათვისებელი საკითხების გამოვლენა და პრაქტიკული დამუშავება

7 კვირა: სხვადასხვა ტიპის ლენდინგ საიტების აწყობა რესპონსივით.
8 კვირა: მარტივი საიტების აწყობა სრული ციკლით(ანალიტიკა, დიზაინი, ტესტირება).
9 კვირა: ლენდინგ საიტების აწყობა სრული ციკლით(ანალიტიკა, დიზაინი, ტესტირება).
10 კვირა: საშუალო სირთულის საიტების გვერდების აწყობა რესპონსივით.
11 კვირა: რთული საიტების გვერდების აწყობა, ადმინ-პანელების გაკეთება.
12 კვირა: ასათვისებელი საკითხების გამოვლენა და პრაქტიკული დამუშავება

კონსპექტები
კონსპექტები მოიცავს ყველა იმ საკითხს, რისი შესწავლაც მოხდება კურსზე
ზოგიერთი საკითხის კონსპექტი შემუშავების პროცესშია
ბიზნეს ანალიტიკა, საიტების შემუშავების მეთოდოლოგია



1. ზოგადი მიმოხილვა, საიტების კლასიფიკაცია

===== საიტების კლასიფიკაცია საინფორმაციო დანიშნულების მიხედვით =====
საიტები იყოფა საინფორმაციო, მომსახურებითი და უნივერსალური(მრავალმხრივი) დანიშნულებით
საინფორმაციო დანიშნულებით
-- საჩვენებელი ტიპი, კონკრეტულად ერთი მიზნისთვის შექმნილი მარტივი საიტი:
პროდუქტი - ღონისძიება - რეკლამა - პრომო
-- წარმომადგენლობითი ტიპი, ვინმეს ან რაიმეს წარმოსაჩენი ინფორმატიული საიტი
პერსონალური - პორტფოლიო - კომპანია - ორგანიზაციის - სამთავრობო
-- საინფორმაციო ტიპი, მუდმივი ინფორმაციული ნაკადის მქონე საიტი
აუდიო - ფოტო - ვიდეო - მედია გამოცემა - ბლოგი

მომსახურებითი დანიშნულებით

-- სერვისული ტიპი, კონკრეტული სერვისების გაწევისთვის შექმნილი საიტი
სერვისები - გადახდები - სათამაშო - საძიებო - ფოსტა
-- მომსახურებითი ტიპი, მომხმარებლების ინტერესებისთვის მომსახურე საიტი
სოციალური - ფორუმი - ჩატი
-- კომერციული ტიპი, ბიზნესის დანიშნულების მქონე საქმიანი საიტი
მაღაზია - აუქციონი - განცხადებები

უნივერსალური პორტალები

-- დიდი მოცულობისა და ფუნქციონალის, მრავალმხრივი დანიშნულების კომბინირებული საიტები
ბიზნეს-პორტალი - მედია-პორტალი - უნივერსალური სოც-ქსელი




2. ბიზნეს ანალიტიკა, მარკეტინგული გათვლები

===== მოსამზადებელი ეტაპი, ბრიფი, საკითხის შესწავლა, მიზნების განსაზღვრა =====
- საიტის დანიშნულების გარკვევა, ბიუჯეტი და ვადები
- საქმიანობის სფეროსა და სამიზნე აუდიტორიის შესწავლა, ბიზნეს-გათვლები
- კონკურენტი საიტებიდან გამოსადეგი დიზაინისა და ფუნქციონალის ელემენტების შესწავლა
- საიტის ტიპის განსაზღვრა, ბრენდის სტილი, დიზაინის ზოგადი აღწერა
- საიტის ტექნიკური საკითხები, სერვერი, დომენი და შემუშავების ტექნოლოგიები.
- ძირითადი ფუნქციონალის ჩამონათვალი
- სხვა გასაწევი სამუშაოებს სრული ჩამონათვალი
- შეთანხმება საიტის გაშვების შემდგომ მომსახურებაზე
===== ბიზნეს ანალიტიკა =====
- ანალოგიური საიტებიდან სასარგებლო იდეების გადმოტანა
- საიტის ტიპის დადგენა, ზოგადი კონცეფცია
- ფერთა სქემის შედგენა, მოთხოვნები დიზაინის სტილზე
- საიტის რუკა და სტრუქტურული სქემა
- განყოფილებების, გვერდებისა და კატეგორიების აღწერა, სემანტიკა, SEO და კონტენტი
- ძირითადი ფუნქციონალის ჩამოწერა, დამატებითი მოდულების განსაზღვრა
- მომხმარებლის მოქმედებების სცენარების გაწერა
- ტექნიკური მოთხოვნების გაწერა, პროგრამირების ტექნოლოგიების განსაზღვრა
- წინასწარი მაკეტის განსაზღვრა, სრული ფუნქციონალის დასრულება
- შეთანხმება დეველოპერებთან და დამკვეთთან



3. ტექნიკური დავალების შედგენა

- ტექნიკური დავალება საჭიროა საიტის სწორი დაგეგმვისა და ხარჯების გათვლისათვის.
- ტექნიკური დავალების შექმნამდე კეთდება ბრიფი(კითხვების ჩამონათვალი შემკვეთთან).
- ტექნიკურ დავალებას ადგენს პროგრამისტი ან პროექტის მენეჯერტი, იშვიათად შემკვეთი
- ტექნიკური დავალება დგება საიტის დიზაინის შემუშავებამდე და აღწერს მთელი საიტის ფუნქციონალს ინტერფეისისა და სტრუქტურის ჩათვლით
- ტექნიკური დავალების შემუშავებისას თავიდან კეთდება საიტის სტრუქტურის ძირითადი მონახაზი, შემდეგ კი დიზაინის პროტოტიპი უფრო დეტალური სახით.
===== ტექნიკურ დავალებაში შემავალი საკითხები =====
- ტექნიკური დავალების მიზანი, განსახილველი საკითხების სია
- საიტის მიზნები და ამოცანები, ანალიტიკა, მარკეტინგული გათვლები, აუდიტორია
- საიტის კარტა, სტრუქტურა და ლოგიკური კავშირები
- უცვლელი ელემენტების ფუნქციონალი(ჰეადერი, ფუტერი, გვერდითი პანელები, Float ფანჯრები)
- ძირითადი(საბაზისო) გვერდების ფუნქციონალი და აღწერა
- ელემენტების მუშაობის აღწერა და ფუნქციონალი
- მომხმარებლის მოქმედებების სცენარების აღწერა
- ზოგ შემთხვევაში მონაცემთა ბაზების არქიტექტურა
- ლინკების გენერაციის წესი, მონაცემთა მიკრო-სტრუქტურა ფეისბუქისა და გუგლისათვის
- SEO კონტენტი, TDH ავტოგენერაციის წესი title, description, H1
- წინასწარი მაკეტი, პროტოტიპი, მოთხოვნები ადაპტივზე, დიზაინის აღწერა
- ადმინ-პანელი, სტატისტიკური მონაცემების გვერდი
- გადახდისა თუ სხვა ინტეგრაციული სისტემების აღწერა
- ტექნიკური მოთხოვნები, ჩატვირთვის სისწრაფე, უსაფრთხოება, სერვერი, გამოყენებული ტექნოლოგიები
- ტერმინების განმარტება
===== ხშირად დაშვებული შეცდომები =====
- არ არის მითითებული ზუსტი ვადები
- არასრულყოფილი შევსება
- არ არის დეტალიზებული ფუნქციონალი
- არ არის დაზუსტებული დიზაინის დეტალები
- ხარვეზებია საიტის სტრუქტურაში
- ხარვეზებია ფუნქციონალის ლოგიკაში
- დომენისა და სერვერის ყველა საჭირო მონაცემების არქონა



4. საიტების შემუშავების მეთოდოლოგია

===== დიზაინის შემუშავების ეტაპი: პროტოტიპირება, დიზაინი =====
- წინასწარი მაკეტის დახვეწა, მოდიფიცირება
- დიზაინის რამოდენიმე ვარიანტის განხილვა
- ლოგო, ფერები, შრიფტი
- საწყისი გვერდის დიზაინის შექმნა
- გარე და შიგნითა გვერდების დიზაინი
- სტანდარტული ელემენტების შემუშავება, პოპუპ ფანჯრები
- ყველაფრის პროექტირება ხდება UX/UI იდეოლოგიის გათვალისწინებით.
===== ფრონტის აწყობის ეტაპი: მარკაპი და ფრონტენდი =====
- დიზაინის მიხედვით მარკაპის შედგენა
- ინტერაქტიული ელემენტების დამუშავება
- ადაპტიური დიზაინი და მობილური ვერსია
- ტექნიკური SEO ფაქტორების გათვალისწინება
- კოდის ტესტირება შეცდომებისადმი მდგრადობაზე, ვალიდაცია, ოპტიმიზაცია, კროს-ბრაუზერულობა.
===== ბექის პროგრამირების ეტაპი: სისტემური პროგრამირება, ბექენდი =====
- საიტის სისტემური და სერვერული ნაწილის პროგრამული უზრუნველყოფა
- ადმინ-პანელის პროგრამირება
- სოციალური ქსელების ჩართვა, სტატისტიკური მთვლელები
- გადახდისა და სხვა სისტემების ინტეგრაცია
- კოდის ტესტირება შეცდომებისადმი მდგრადობაზე, ოპტიმიზაცია, უსაფრთხოება.
===== გაშვების ეტაპი: საიტის გამართვა და კონტენტით შევსება =====
- დომენისა და სერვერის პარამეტრების გამართვა.
- SEO-ს გათვალისწინებით საიტის კონტენტით შევსება
===== ტესტირების ეტაპი: ვიზუალური და ფუნქციური ტესტირება =====
- ვიზუალური მხარისა და დიზაინთან შესაბამისობაში გადამოწმება
- ინტერფეისის ზოგადი ტესტირება
- ცალკეული გვერდებისა და ელემენტების ტესტირება
- ფუნქციონალის ტესტირება
- ტექნიკური მხარის ტესტირება
- SEO ტესტირება.
===== მხარდაჭერის ეტაპი: გაშვების შემდგომი პროგრამული და ტექნიკური უზრუნველყოფა =====
- სერვერის ადმინისტრირება
- შეცდომების გასწორება
- ახალი ფუნქციების დამატება
- მედია-მარკეტინგი და SEO განვითარება.
დიზაინის საფუძვლები



1. საიტების სტრუქტურა და სტილი

===== საიტის სტრუქტურის აგება =====
- საიტის დანიშნულების, საქმიანობის სფეროსა და სამიზნე აუდიტორიის შესწავლა
- კონკურენტი საიტების შესწავლა და სასარგებლო ინფორმაციების გადმოტანა
- საიტის გვერდებზე საჭირო ყველა კომპონენტისა და ელემენტის ჩამოწერა
- ფერებისა და ფონტის არჩევა, ლოგო, საიტის ტიპისა და სტილის განსაზღვრა
- საიტის ლოგიკური სტრუქტურის გრაფიკული გამოსახვა(მინდმაპი)
- კომპონენტების განაწილება მთავარ ველებზე, ინტერფეისის წინასწარი მონახაზის გაკეთება, მაკეტის შედგენა, პროტოტიპი
- კომპონენტების მოწესრიგება UX/UI იდეოლოგიით, სტრუქტურის დეტალიზაცია
===== საიტის სტრუქტურის მთავარი ველები =====
1. ჰეადერი, საიტის ზედა ნაწილი, ანუ ნავიგაციური მენიუს ბლოკი
- ჰეადერი შედგება მენიუების ჰორიზონტალური ზოლებისგან(ბლოკებისგან), ასევე ზშირად მთავარი ბანერისგანაც. ბანერი განლაგებულია უმეტესად ზოლების ქვემოთ, ან ზოლების შუაში, ან მთლიანი ფონის სახით.
- ჰეადერი არის უმეტესად 1 ან 2, ზოგჯერ 3 ზოლიანიც.
- უმეტესად მარცხნივ ან ზოგჯერ შუაში განლაგებულია ლოგო.
- ჰეადერის ზოლების მარჯვენა ბოლოში განლაგებულია სოც. ქსელების ლინკები, ასევე რეგისტრაციისა და ავტორიზაციის იკონები, ასევე ზოგჯერ რაიმე ფუნქციის ღილაკიც.
- ზოლის შუაში ხშირად განლაგებულია ძებნის ველი, ზოგჯერ მარცხნივ ან მარჯვნივ.
- ზედა ზოლზე ხშირად განლაგებულია კომპანიის საკონტაქტო მონაცემები, ასევე სოც. ქსელების ლინკები
- ზოლების ერთმანეთისგან გამოყოფა ხდება მკრთალი ხაზით ან კონტრასტული ფონებით
- მთავარი ბანერი ხშირად შეიცავს წარწერებს დიდი ასიებით(სათაური), წვრილი ასოებით(დახასიათება) და ასევე ლინკს(ან ფუნქციურ ღილაკს).
2. მთავარი ცენტრალური ბლოკი, კონტენტისათვის
- ეს არის ძირითადი კონტენტის განთავსების ადგილი, პოსტების, კატალოგების, გალერეის, პროდუქტისა და სხვა ძირითადი ინფორმაციისათვის.
3. გვერდითი პანელები, მენიუს, კატეგორიების ან დამატებითი ინფორმაციისათვის
- ძირითადად გამოიყენება კატეგორიების სიებისათვის(უმეტესად მარცხენა მხარეს), ასევე სარეკლამო ბანერების განსათავსებლად, იშვიათ შემთხვევებში კი პოსტების განსათავსებლად.
4. ფუტერი, საიტის ქვედა ნაწილი, დამატებითი ინფორმაციებისათვის
- ფუტერში განთავსებულია კომპანიის შესახებ ინფორმაცია, სოც.ქსელების ლინკები, სხვა გვერდებზე გადასასვლელი ლინკები, ასევე სარეკლამო ლინკები და სხვა დამატებითი სახის ინფორმაცია.
5. სარეგისტრაციო და სხვა ფორმები, პოპ-უპ ფანჯრები
- კეთდება მოდალური ფანჯრის სახით, ან ცალკე გვერდად.
===== საიტის სტრუქტურის ელემენტები =====
- მთავარი ელემენტებია: მენიუ, კატეგორიები, კონტენტი, დამატებითი ინფორმაცია, Float პანელები
- მენიუ(ნავიგაცია): შედგენილია საიტის მთავარი საკითხების მიხედვით, მენიუში უნდა იყოს რამოდენიმე(5-6) ელემენტი. შესაძლებელია მენიუს ქონდეს ჩამოსაშლელი ქვემენიუების(ან კატეგორიების) სიაც.
- კატეგორიები: ეს არის კატეგორიებად გაშლილი მენიუს ელემენტები, შესაძლებელია კატეგორიებად და ქვეკატეგორიებად დაყოფაც, შეიძლება შეიცავდეს 5-30 ცალ ელემენტს.
- კონტენტი: საბოლოო მოხმარების ინფორმაცია, შეიძლება წარმოდგენილი იყოს პოსტების, პუბლიკაციის, ცხრილის, კატალოგის, პროგრამის, სიის ან რაიმე სხვა სახით.
- დამატებითი ინფორმაცია: ტექნიკური, სარეგისტრაციო, საინფორმაციო და სარეკლამო ლინკები, სხვადასხვა საინფორმაციო ტექსტი, საავტორო და სხვა მონაცემები.
- Float პანელები: სარეგისტრაციო, სარეკლამო და საინფორმაციო ხასიათის ფანჯრები
===== საიტის იერარქიის ლოგიკური აგებულება =====
- ხაზოვანი სტრუქტურა, უმეტესად ერთი შვილობილი გვერდი ყოველ გადასვლაზე
- ბლოკური სტრუქტურა, ყველა გვერდიდან ნებისმიერ გვერდზე გადასვლა
- იერარქიული სტრუქტურა, მშობელი გვერდებისა და შვილობილი გვერდების განტოტვა
- იერარქიის საუკეთესო სიღრმეა 3-4 კლიკით გადასვლა საბოლოო მიზნამდე
===== საიტის ელემენტების განლაგებისა და აგებულების სტანდარტებ =====
- საიტის მთავარი არეალები განაწილებული უნდა იყოს მნიშვნელობის მიხედვით
- საიტის სქემის სტანდარტის მიხედვით საიტი შედგება ჰეადერის, ცენტრალური კონტენტის და ფუტერისაგან, შეიძლება გვერდითი პანელების დამატებაც.
- ჰეადერში მარცხნივ არის ლოგო, მარჯვნივ იკონები, შუაში კი მენიუ(ნავიგაცია).
===== სტანდარტული შეცდომები საიტის სტრუქტურირებაში =====
- ძნელად აღსაქმელი სტრუქტურა
- გვერდის მისამართებში გაუგებარი დასახელებები
- ელემენტების/კატეგორიების არასწორი და არათემატური დაჯგუფება
- პროდუქციისთვის საკმარისი ფილტრების არქონა
- კატეგორიების დიდი რაოდენობა საწყის გვერდზე
- დუბლირებული გვერდები სხვადასხვა მისამართებით
===== საიტის დიზაინის საფირმო სტილის ელემენტები =====
- ლოგო
- საფირმო ნიშანი
- საფირმო ფერი
- საფირმო პერსონაჟი
- საიტის საფირმო სტრუქტურა და ელემენტების განლაგება
===== საიტის მახასიათებელი სტილები =====
- შუქის მიხედვით: ღია ნათელი, მუქი(ბნელი), კონტრასტული, ფონური სურათით
- ფერის მიხედვით: მხიარულ ფერებში, შავ-თეთრი, სტანდარტული შეხამებით, ფონური სურათით
- გრაფიკის მიხედვით: მშრალი(ცივი) გრაფიკა, მხატვრულად გაფორმებული, სტილიზებული, კლასიკური
- თემატიკის მიხედვით: კლასიკური, რეტრო, ფუტურისტული, საგაზეთო, მულტიპლიკაციური, სარეკლამო
- დატვირთულობის მიხედვით: მინიმალისტური, ნორმალური, გადატვირთული ელემენტებით
- ელემენტების მიხედვით: Flat ელემენტები, ჩვეულებრივი ჩრდილებით, 3D ელემენტები, სტილიზებული



2. საიტების დიზაინი და ინტერფეისი


ვებ საიტების დიზაინი მოიცავს 3 ძირითად კომპონენტს:
1. გრაფიკული მხარე:
- საიტის ზოგადი ვიზუალი, კომპონენტების ვიზუალი, ფერები და გაფორმება, სტილი
2. ინტერფეისი
- საიტის სტრუქტურა, კომპონენტების განლაგება, ზომები და ფორმები
3. ფუნქციონალი
- საიტის ინტერაქტიური ელემენტები
===== დიზაინის შემუშავების საწყისი ეტაპები =====
- საიტის დანიშნულების, საქმიანობის სფეროსა და სამიზნე აუდიტორიის შესწავლა
- კონკურენტი საიტების შესწავლა და სასარგებლო ინფორმაციების გადმოტანა
- ტექნიკური დავალების გაანალიზება, დამკვეთთან შეთანხმება
===== ზოგადი სტრუქტურის ჩამოყალიბება =====
- საიტის გვერდებზე საჭირო ყველა კომპონენტისა და ელემენტის ჩამოწერა
- ფერებისა და ფონტის არჩევა, ლოგო, საიტის ტიპისა და სტილის განსაზღვრა
- საიტის ლოგიკური სტრუქტურის გრაფიკული გამოსახვა(მინდმაპი)
- კომპონენტების განაწილება მთავარ ველებზე, ინტერფეისის წინასწარი მონახაზის გაკეთება, მაკეტის შედგენა, პროტოტიპი
- კომპონენტების მოწესრიგება UX/UI იდეოლოგიით, სტრუქტურის დეტალიზაცია
===== გვერდების დიზაინი, ელემენტების დამუშავება =====
- საწყისი გვერდის დიზაინის შექმნა
- გარე და შიგნითა გვერდების დიზაინის შექმნა
- სტანდარტული ელემენტების დამუშავება, პოპუპ ფანჯრები, ფორმები
- დიზაინის გატესტვა UX/UI იდეოლოგიასთან შესაბამისობაზე.
- დიზაინის შეთანხმება მარკაპის პრინციპებთან
===== ხშირად დაშვებული შეცდომები =====
- ვიზუალური ხმაური
- ერთიანი სტილის არქონა
- რთულად აღსაქმელი ინტერფეისი
- ძალიან ბევრი ელემენტი გვერდზე
- დაუბალანსებელი ფერთა გამა
- დამაბნეველი სტრუქტურა
- მიღებულ სტანდარტებთან შეუსაბამობა
- სხვადასხვა ზომის ეკრანისთვის ადაპტაციის არქონა
- ტექსტის დამალული ნაწილები
- ფონის ფერთან არაკონტრასტული ტექსტი
- ლინკების ჩვეულებრივ ტექსტად გამოჩენა
- მცირე დაშორებები ელემენტებს შორის
- საიტის ელემენტების ზომების შეუსაბამობა მის მნიშვნელობასთან
===== დიზაინის შედგენის პრინციპები, ფერები, ელემენტები =====
- საიტი უნდა იყოს ერთიან სტილში ჩამჯდარი
- ფონი უნდა იყოს ერთ ფერში, ან ერთფეროვანი სურათების შპალერი
- კარგად აღსაქმელი შრიფტების შერჩევა, მაქსიმუმ 2-3 ტიპის(ძირითადი, სათაურების, პარამეტრების)
- საიტს უნდა ქონდეს ერთი საფირმო ელფერი, რომლის მიხედვით დგინდება დამხმარე ფერების გამა
- ფონტების ხასიათი უნდა იყოს საიტის თემატიკასთან შესაბამისობაში
- ელემენტთაშორისი მანძილები(დაშორებები) იზრდება შემდეგი თანმიმდევრობით: ასოებს შორის, სიტყვებს შორის, წინადადებებს შორის, აბზაცებს შორის, ბლოკებს შორის.
- ნებისმიერი ელემენტის დიზაინი უნდა იყოს მარტივი და უბრალო, მაგრამ ინფორმაციულად სრულად და გასაგებად უნდა ასახავდეს მათ დანიშნულებას.
- მნიშვნელოვანია პრინციპი: "დიზაინი მაშინ კი არ არის სრულყოფილი, როცა ვერაფერს ვეღარ დაამატებ, არამედ მაშინ, როცა ვერაფერს ვერ მოაკლებ".
- "არ მაიძულო ვიფიქრო" - ინტერფეისის მთავარი ლოზუნგი.
===== დიზაინის შედგენის პრინციპები, ინტერფეისი და ინტერფეისის ელემენტები =====
- დიზაინის აწყობამდე შეიძლება რამოდენიმე სიტყვით დავახასიათოთ საიტის დანიშნულება(მიზანი), შემდეგ ეს დანიშნულება გამოვსახოთ ვიზუალურად საიტის მთავარ არეალში და მის ირგვლივ ავაწყოთ საიტი.
- თუ საიტის დანიშნულება(მიზანი) რამოდენიმე კომპონენტისგან შედგება, მაშინ ისინი მნიშვნელობების მიხედვით უნდა გამოვსახოთ ცენტრალურ ადგილზე და მათ ირგვლივ ავაწყოთ საიტი.
- ინტერფეისის აწყობა იწყება საიტის მთავარ სივრცეებში მნიშვნელოვანი კომპონენტების განაწილებით, შემდეგ ბლოკების განლაგებით და მთავრდება ცალკეული ელემენტების დამუშავებით.
- საიტის სტრუქტურა ერთი შეხედვითაც მკაფიო და ინტუიციურად გასაგები უნდა იყოს.
- ბლოკებისა და ელემენტების ზომები, გამოკვეთილობა და განლაგება თანხვედრაში უნდა იყოს მათ მნიშვნელობასთან და აქტუალობასთან.
- ელემენტის ირგვლივ დიდი სივრცე მეტ მნიშვნელობას ანიჭებს მას ვიზუალური გადატვირთვის გარეშე
- ტექსტის ზომა და გამოკვეთილობა თანხვედრაში უნდა იყოს მის მნიშვნელობასთან
- საიტის სივრცეში ადგილების მნიშვნელობა ზევიდან ქვევით და მარცხნიდან მარჯვნივ მცირდება
- ცენტრალური ადგილი უნდა დაეთმოს ყველაზე მუშა და მოთხოვნად ინფორმაციას
- საიტზე ყველა ხაზი, ფერი და ფორმა უნდა იყოს ბუნებრივად მისაღები და არა ხელოვნური
- ყველა ელემენტი(განსაკუთრებით სტანდარტული) უნდა იყოს ისეთი, როგორიც მოსალოდნელია რომ იყოს.
- ყველა ფუნქციურად დამოუკიდებელი ელემენტი უნდა იყოს განლაგებული თავისუფლად, სხვა ელემენტებისგან ვიზუალურად დამოუკიდებლად.
- ელემენტები უნდა შემოისაზღვროს საკმარისი დაშორებებით, მკრთალი ხაზებით, ან ფონის ფერით
- ინტერფეისის ყველა ფუნქცია უნდა აღიქმებოდეს თვალის ერთი გადახედვით და არ უნდა ჭირდებოდეს დაფიქრება ან ძებნა.
- საიტზე აუცილებლად უნდა ჩანდეს სტანდარტული და საჭირო ელემენტები: ძებნა, მენიუ, კატეგორიები, ლოგო, დასახელება, საკონტაქტო ინფორმაცია, ავტორიზაცია, ნავიგაცია და ა.შ.
- ნებისმიერი ინფორმაცია უნდა იყოს ხელმისაწვდომი ზედმეტი ძებნის გარეშე, ინტუიციურად.
- ელემენტებს უნდა ქონდეთ მოკარნახე საინფორმაციო ტექსტი მაუსის გადატარებისას.
- ღილაკის მონიშვნა ხდება ფონის ფერის შეცვლით, ტექსტის ფერის შეცვლით(ან გამსხვილებით), ან მკრთალი ჩარჩოს გამოჩენით. შესაძლებელია ანიმაციის ეფექტების გამოყენებაც.
- საიტის დიზაინში გათვალისწინებული უნდა იქნას ყველა მიღებული პრაქტიკა
===== საჭირო ლინკები =====
- მატერიალის რეკომენდაციები დიზაინზე
https://material.io/
- რუკის შედგენა
XMind
https://www.gloomaps.com
https://www.justinmind.com/thank-you-win
- დიზაინი და გრაფიკა
https://www.figma.com
მაკეტის შედგენა
https://moqups.com
https://app.mockplus.com



3. ლენდინგ საიტის აგებულება

ლენდინგი არის ერთი გარკვეული დანიშნულებით შექმნილი საიტი და შეიძლება ემსახურებოდეს რაიმე პროდუქტის რეკლამას, გაყიდვას, კომპანიის ან რაიმე ღონისძიების შესახებ ინფორმაციას, ასევე შეიძლება იყოს უბრალოდ პორტფოლიო, პირადი ბლოგი, ან ორგანიზაციის წარმომადგენლობითი საიტი. მთავარი განმასხვავებელი სხვა საიტებისგან არის კონცენტრირება ერთ ამოცანაზე.
ლენდინგის პრინციპებით შეიძლება სხვა ტიპის საიტის ნებისმიერი გვერდის შექმნა.
ლენდინგის მთავარი ლოზუნგია: ერთი გვერდი, ერთი შეთავაზება, ერთი მოქმედება.
ლენდინგზე მომხმარებლის ქმედების კლასიკური სცენარები:
1. ვნახე-გავიგე-გავაკეთე
2. ყურადღების მიქცევა-დაინტერესება-სურვილის გაჩენა-მოქმედება
3. ყურადღების მიქცევა-შთაბეჭდილების მოხდენა-ეფექტური შეთავაზება-მოქმედება
4. პრობლემის წარმოჩენა-პრობლემის გამწვავება-იმედის გაჩენა-გადაწყვეტის შეთავაზება
===== ლენდინგის ტიპის საიტის პრინციპები =====
- ლენდინგზე ყველა ინფორმაცია უნდა იყოს ერთი იდეის ირგვლივ
- ლენდინგ გვერდი უნდა იკითხებოდეს შინაარსობლივად მიყოლებით
- გვერდზე ყველა ბლოკი უნდა იყოს განლაგებული მნიშვნელობის მიხედვით ზევიდან ქვევით
- მთავარ გვერდზე ცენტრში უნდა იყოს გამოსახული ყველაზე მნიშვნელოვანი ინფორმაცია, ეფექტური სურათისა თუ მნიშვნელოვანი ტექსტის სახით.
- ცენტრალურ არეალში უნდა იყოს მთავარი მოქმედებაც, რომელიც მომხმარებელმა უნდა შეასრულოს.
===== შეცდომები ლენდინგ საიტის კეთებისას =====
- გრძელი ტექსტები
- ძალიან გრძელი გვერდი
- ერთი შეხედვით ძნელად აღსაქმელი კონტენტი
- ზედმეტად ბევრი ელემენტები და გადატვირთული ფუნქციონალი
===== ლენდინგის შემადგენელი ბლოკები, სექციები =====
- გვერდი უნდა დაიყოს აზრობრივ სექციებად
- მთავარია საწყისი ბლოკი, შთაბეჭდილების მოსახდენად
- შემდეგ აღწერის ბლოკები, ინტერესის გაღვივებისთვის
- შემდეგ შეთავაზებების ბლოკები, დასარწმუნებელი არეალი
- ბოლოში საბოლოო მოქმედების ბლოკი
- სექციები გამოყოფილი უნდა იყოს საკმარისი დაშორებებით
- სექციების მონაცვლეობა უმჯობესია ფონის კონტრასტული ცვალებადობით
- ლენდინგის ელემენტები უნდა იყოს ვიზუალურად დიდი და შთაბეჭდილების მომხდენი
- სათაურები და ტექსტები უნდა იყოს ერთნაირად სტილიზებული
Frontend საწყისები, მარკაპი



1. მარკაპის პრინციპები

===== მარკაპის თანამიმდევრობა =====
- დიზაინის მაკეტის შესწავლა და ანალიზი, მნიშვნელოვანი საკითხების ჩამოწერა
- ფაილების სტრუქტურის მომზადება, კოდის საწყისი სახით გამზადება
- საიტის გარე HTML სტრუქტურის(ჩარჩოს) შექმნა მაკეტის ლოგიკური იერარქიის მიხედვით, ადაპტურობის მიცემა მინიმუმ 360 px ზომაზე, გატესტვა ადაპტივზე და შეცდომებზე
- საწყისი გვერდისა და უცვლელი ელემენტების მარკაპი
- ინტერაქტიული ელემენტების დამუშავება
- საიტის სხვა გვერდების მარკაპის აწყობა
- გატესტვა ადაპტივზე, კოდის ვალიდურობაზე და შეცდომებზე
===== სწორი კოდის პრინციპები =====
- ნაკლები კოდი, ნაკლები იერარქია
- ტეგები ყოველთვის უნდა დაიხუროს
- აუცილებელია < !DOCTYPE html >
- CSS ფაილების ლინკები უნდა იყოს ჩასმული Head-ში
- ჯავასკრიპტის ფაილები უნდა იყოს ბოლოში
< script type="text/javascript" src="path/to/anotherFile.js" >< /script >
- HTML და CSS კოდმა უნდა გაიაროს ვალიდაცია
- კოდის ყველა მნიშვნელოვან ფრაგმენტს უნდა ქონდეს კომენტარები
- კოდის ტეგები ყოველთვის პატარა ასოებით უნდა დაიწეროს.
- სურათებს აუცილებლად უნდა ქონდეთ ტეგი alt
- ფუნქციური ელემენტები და a ლინკები ჯობია ჩავსვათ div ჩარჩოში
- ლოგოს უნდა ქონდეს მთავარი გვერდის ლინკი
- ყველა ღილაკი უნდა იყოს ერთნაირ სტილში
- ზომის ერთეული არ უნდა იცვლებოდეს, უმჯობესია პიქსელები
- არ შეიძლება ტეგებისა და კლასების ერთად გაწერა CSS-ში
- ღილაკები კეთდება 3 საშუალებით: input(ფორმისათვის), button(მოქმედებისათვის), a(სხვა გვერდზე ან გვერდის განყოფილებაზე გადასასვლელად)
- !important დასაშვებია იყოს მხოლოდ მედია ქუერიებში
- #ID იდენტიფიკატორები გამოიყენება მხოლოდ HTML-ში
- inline სტილის გასმოყენება დასაშვებია უნიკალურ ელემენტებში, როცა კოდი მცირეა. ასევე იმ ელემენტებში, რომლებიც რაღაცით განსხვავდებიან კლასის სხვა წარმომადგენლებისაგან.
- ღილაკების დასაშვები მინიმალური ზომა მობილური ვერსიის შემთხვევაში იწყება 34-48 პიქსელიდან
- ყველა ელემენტს უნდა ქონდეს საკუთარი უსაფრთხო დაშორებები
- ტექსტურ რედაქტორში html და css მნიშვნელოვანი განყოფილებები უნდა გაერთიანდეს ჯგუფებად
- ადაპტივის მედია ქუერიები შესაძლებელია გაიწეროს ეკრანების სტანდარტული ზომების პრინციპითაც და ასევე ნებისმიერი ზომების პრინციპითაც, რომლებზეც საიტის დიზაინი მოითხოვს გადაწყობას.
===== სემანტიკური ტეგები =====
- header = მთავარი ზედა კონტეინერი, ზედა მენიუსა და ნავიგაციისათვის
- main = მთავარი ცენტრალური კონტეინერი, ძირითადი კონტენტისათვის
- footer = მთავარი ქვედა კონტეინერი, სხვადასხვა ლინკებისა და საჭირო ინფორმაციისათვის
- aside = მთავარი გვერდითი კონტეინერი, კატაგორიებისა და სხვა ინფორმაციისათვის
- section = ნახევრად-ავტონომიური კონტეინერი, ბლოკების ან ელემენტების გასაერთიანებლად
- article = ავტონომიური კონტეინერი, ერთი ინფორმაციული ჯგუფის გამოსახვისათვის
- nav = კონტეინერი ნავიგაციის ღილაკებისათვის
- H1-H6 = ტეგები სათაურებისათვის, მნიშვნელობის მიხედვით
- გვერდის სტრუქტურა იწყობა იერარქიით: მთავარი კონტეინერი-კონტეინერი-ბლოკი-ელემენტები
===== ტექნიკური საკითხები =====
- საიტის ადაპტიური(რესპონსივი) მარკაპის მთავარი მეთოდია Flex ან Grid მეთოდები
- მარკაპის საწყისი დიდი ეკრანის ზომა არის მინიმუმ Full HD გაფართოება 1920x1080
- გვერდი უნდა იყოს ადაპტიური ეკრანის ყველა ზომაზე 320px ან 360px მინიმალური ზომით
- გვერდის კონტენტი სასურველია იყოს მაქსიმუმ 1200px-1600px ზომამდე ჰორიზონტალურად
- ზომის ადაპტაციური ცვლილება ხდება ელემენტების დრეკადობით(მინიმალურ ზომამდე)+გადაადგილებით
- ჩატვირთვის სისწრაფე მისაღებ ფარგლებში უნდა იყოს, კომპიუტერის და მობილურის ვარიანტებში
- სურათების ზომა ოპტიმალური უნდა იყოს, ასევე კოდის და ბიბლიოთეკების ზომებიც
- კოდის ჩატვირთვა უნდა მოხდეს სწორი მიმდევრობით, ასევე უმჯობესია კოდის კომპრესია.
- სავალდებულოა კოდის გავლა ვალიდურობაზე
- საწყისი HTML გვერდი უნდა იყოს ფაილში index.html
- CSS და JS ფაილები უნდა ინახებოდეს ცალკე
- სასურველია საიტის ბანერების/სურათის ჩატვირთვა CSS ფაილიდან, რათა მხოლოდ ერთხელ ჩაიტვირთოს
- სასურველია საიტის ზოგადი ჩარჩოს(მთავარი კონტეინერების) CSS ჩაიწეროს ცალკე ჯგუფად, ან ცალკე ფაილად, ხოლო ბლოკების და ელემენტების CSS კი ცალკე ჯგუფად, ან ცალკე ფაილებად.
- სურათები უნდა ინახებოდეს fotos, images და icons ფაილებში
===== უსაფრთხო მარკაპის პრინციპები =====
- კოდი უნდა შემოწმდეს ვალიდურობაზე
- ყველა ბრაუზერში ერთნაირად უნდა ჩანდეს გვერდი
- ტექსტური არეები უნდა შემოწმდეს ძალიან გრძელ და მოკლე ტექსტებზე
- ყველა ბლოკი უნდა შემოწმდეს დიდი და პატარა მოცულობის კონტენტზე
- ყველა ბლოკის ადაპტურობა და სწორი განლაგება უნდა შემოწმდეს ყველა ზომის ეკრანზე.
===== SEO მოთხოვნები =====
- აუცილებელია საიტის ფავიკონი < link rel="icon" > 32x32 PNG საწყის ფოლდერში
- ყველა გვერდზე უნდა იყოს 1 ცალი H1 ტეგი
- ყველა სურათს სასურველია ქონდეს alt ტეგში სწორი სახელი SEO გათვალისწინებით
- გვერდების title ტეგში უნდა გაიწეროს გვერდის მისამართის იერარქია და ბოლოში KEY სიტყვა
- აუცილებელია საიტის რუკის შედგენა Google ინდექსაციისათვის
- აუცილებელია robot.txt ფაილი საძიებო ბოტებისათვის
===== მარკაპის გატესტვა =====
- დიზაინის ვიზუალთან თანხვედრაში შემოწმება
- სხვადასხვა ბრაუზერებში დიზაინთან შესაბამისობის ტესტირება
- ბლოკების ტესტირება დიდი და მცირე ზომის კონტენტზე
- ფორმების ფუნქციონალის შემოწმება
- ღილაკების, ლინკებისა და აქტიური ელემენტების შემოწმება
- რესპონსივის გატესტვა ეკრანის მინიმუმიდან მაქსიმალურ ზომებდე
- SEO ოპტიმიზაციაზე შემოწმება
- ვალიდაციაზე შემოწმება
===== საჭირო ლინკები და პროგრამები =====
- ვალიდურობაზე HTML შემოწმება https://validator.w3.org
- ტექსტის რედაქტორები Sublime Text, Notepad++, VS Code

2. BEM, OOCSS, SMACSS, Atomic CSS მეთოდოლოგია

კლასების სახელდებისა და CSS ფაილის აგების მეთოდოლოგიები
1. BEM მეთოდოლოგია, მეთოდოლოგია მთლიანად მორგებულია კოდის მრავალჯერადად გამოყენებაზე
- B = ბლოკი E = ელემენტი M = მოდიფიკატორი, ეს არის კომპონენტური მიდგომის მეთოდოლოგია
- BEM აგებულია ინტერფეისის ბლოკებად დაყოფაზე, ბლოკზეა დაფუძნებული კლასებისა და ფაილების სისტემაც, ბლოკი არის დამოუკიდებელი და ავტონომიური, შეიძლება გამოყენება მრავალჯერადად
- დასაშვებია ბლოკებში ბლოკების ჩასმა, ასევე ელემენტების ელემენტებში
- ყველა ბლოკს აქვს კლასი, ამ კლასის გავლით ხდება ელემენტებისა და მოდიფიკატორების სახელების დარქმევა
- ბლოკის სახელი უნდა აღნიშნავდეს მის შინაარს და დანიშნულებას(menu), და არა მახასიათებელს(red, big).
- ბლოკის ყველა ელემენტის(მათ შორის ბლოკების) სახელები მთავარი ბლოკის სახელიდან იწარმოება.
- სახელების გამყოფია ტირე "-", ელემენტის გამყოფი ბლოკისგან ორმაგი ქვედა ტირე "__", მოდიფიკატორის სახელის გამყოფია ერთი ქვედა ტირე "_" ან ორმაგი ტირე "--"
- სახელების მინიჭების მაგალითი: .card, .card__img, card--dark, card__img--dark
- რთული მაგალითი: header__red-block_theme--green-forest აქ header ბლოკის სახელია, red-block ელემენტის სახელია, theme მოდიფიკატორია, green-forest მოდიფიკატორის მნიშვნელობაა
- მოდიფიკატორი აღწერს ბლოკის ან ელემენტის სტილს, მდგომარეობას ან ქცევას.
- მოდიფიკატორის სახელი იწერება: _სახელი_მნიშვნელობა search-form__button_size_m
- BEM-ის მიხედვით CSS-ში არ არის ტეგები და ჩასმული სელექტორები, ასევე არ გამოიყენება კომბინირებული სელექტორები, ატრიბუტები და ID იდენტიფიკატორები
- BEM-ში არის მიქსები, ანუ ორი კლასის მქონე ელემენტები, ერთი კლასია ზოგადი(საერთო), მეორე კი კონკრეტულად ელემენტისთვის. საჭიროა სხვა ბლოკში ჩასმული ბლოკის აღწერისთვის.
- ფაილურ სტრუქტურაში ბლოკს აქვს თავისი ფოლდერი იგივე სახელით, ფოლდერში მოთავსებულია ყველა საჭირო ტექნოლოგია და ფაილი რაც ბლოკს ჭირდება. ბლოკის მოდიფიკატორები და ოპციები მოთავსებულია ბლოკის ფოლდერის ცალკეულ ფოლდერებში თავისივე დასახელებით.
2. OOCSS მეთოდოლოგია
- CSS-ში ცალკე იწერება სტრუქტურის სტილი და ცალკე გაფორმების. HTML-ში ელემენტს ენიჭება 2 კლასი, სტრუქტურის და გაფორმების. class="btn btn-blue">ცისფერი ღილაკი
3. Atomic CSS ატომარული მეთოდოლოგია
- სტილები დაყოფილია, ყოველი ხშირად გამოყენებადი მახასიათებელი ცალკე კლასია
- კლასის სახელი შედგენილია თვისებებისაგან class = "F1-start W-20px P-20 Bxz-bb"
4. SMACSS მეთოდოლოგია Base, Layout, Module, State, Theme
- სტილები იყოფა 5 ნაწილად: საბაზისო, განლაგება, მოდული, მდგომარეობა, თემა.
- საბაზისო არის ძირითადი ელემენტების სტილები input, button, ul, body, a, reset.css
- განლაგების(Layout), ანუ მაკეტის სექციების სტილი header, footer, საზელს შეიძლება დაემატოს l-
- მოდულების, ანუ განმეორებადი ელემენტების(ბლოკების) სტილები, სახელს შეიძლება დაემატოს m-
- მდგომარეობის სტილები is-error is-collapsed is-hidden სახელს ემატება is-
- თემის, ანუ გაფორმების სტილები
===== Extensible Markup მეთოდოლოგია =====
საიტის ელემენტების ნიმუშები
- საიტის სტანდარტული ელემენტების ნიმუშები, ლინკი პროექტზე:
https://drive.google.com/drive/folders/1tQ4v9KGmw1WWRne-qluaZDppEatkh_pL?usp=sharing
SEO ოპტიმიზაცია



1. ტექნიკური SEO

===== საიტის კონტენტის ოპტიმიზაცია =====
- უნიკალური და საინტერესო კონტენტი
- სემანტიკური ბირთვის შედგენა საკვანძო ფრაზებით
- დიდი მოცულობის რელევანტური კონტენტი
- შინაარსობლივად და გრამატიკულად გამართული კონტენტი
- აქტუალური და გაზიარებადი კონტენტი
- გამოხმაურებების მქონე კონტენტი
- დამალული კონტენტის არარსებობა
===== საიტის სტრუქტურა =====
- ადაპტური დიზაინი
- მოხერხებული UserFriendly ინტერფეისი
- სტრუქტურული აგებულების მცირე სიღრმე, მაქსიმუმ 3-4 კლიკით გადასვლა
- საიტის იერარქიის სწორი, ლოგიკური აგებულება
- მობილურისთვის ოპტიმიზირებული ინტერფეისი
===== ტექნიკური SEO ოპტიმიზაცია =====
- SSL სერთიფიკატი
- Robots.txt ფაილი
- Sitemap ფაილი
- გვერდების სწორი დასახელება, სწორი სათაურები
- საიტის იკონკა, Title და Description(150 სიმბოლო) ყოველი გვერდისთვის
- საიტის ჩატვირთვის სიჩქარე მობილურზე და პერსონალურზე
- ვირუსებისა და ფარული რეკლამის არარსებობა
- სტრუქტურირებული მონაცემები Schema, Open Graph
- მეტატეგების სწორი განაწილება H1, H2, H3...
- გვერდზე ერთი H1 სათაური საკვანძო სიტყვებით, სურათების alt ტეგზე დასახელების გაწერა
- სტატისტიკური მთვლელები საიტის ფუტერში
===== გვერდების ლინკები, შემომავალი და გამავალი ლინკები =====
- გვერდების ლინკების დამოკლება და კითხვადობა
- გვერდების მისამართის აგება საკვანძო სიტყვებით
- მთავარი გვერდებისკენ გამავალ ლინკებზე canonical ტეგის გაწერა
- არაინდექსირებადი გვერდებისთვის noindex nofollow გაწერა
- დუბლირებული გვერდების გამორთვა რანჟირებიდან
- 404 შეცდომის ცალკე გვერდი
- HTTP გადამისამართება HTTPS-ზე
- გაუქმებული და შეცდომის გვერდების გადამისამართება 3XX, 4XX, 5XX
- გადამისამართებები www-დან მის გარეშე, სლეშით და გარეშე, index.html index.php-დან გარეშე
- ცუდი გამავალი ლინკებისთვის, ტექნიკური გვერდებისთვის და დუბლირებული გვერდებისთვის nofollow გაწერა
< a href="http://www.example.com" rel="nofollow">Anchor text here< /a>
===== საიტის ინდექსაციის გაუმჯობესების მეთოდები =====
- სურათის ზომების შემცირება
- საკვანძო სიტყვებით დასპამვისგან თავის არიდება
- საიტის დომენის რელევანტობა შინაარსთან, მოკლე და შესაფერისი დასახელება
- მნიშვნელოვანი გვერდებისა და სიახლეების ლინკების განთავსება გარეთა გვერდებზე, ასევე ფუტერში
- შიგნითა გვერდების თავში სანავიგაციო ლინკების ჯაჭვი
- საიტის ლინკების განთავსება ფორუმებზე და სხვა პოპულარულ საიტებზე
- საიტზე ყოფნის დროის გაზრდა, დათვალიერებული გვერდების რაოდენობის გაზრდა, კონვერსია
- პაგინაციის გვერდების ოპტიმიზაცია
- საიმედო ჰოსტინგი კარგი პინგით
===== გამოსადეგი კოდები =====
- საკვანძო სიტყვის შემოწმება საიტზე
site:https://www.hipermarket.ge ავეჯი
- დუბლირებული გვერდის დაბლოკვა საძიებო ბოტისთვის robots.txt-ში
User-agent: *
Disallow: /page
- დუბლირებული გვერდის დაბლოკვა საძიებო ბოტისთვის
< meta name="robots" content="noindex, nofollow" / >
- კანონიკური გვერდის მითითება ლინკში
< link rel="canonical" href="https://site.net/example" / >.



1. სეო ინსტრუმენტები და მედია მარკეტინგი

===== SEO ინსტრუმენტები =====
===== Google ინსტრუმენტები =====
===== მედია მარკეტინგი =====
ტესტირება



1. ტესტირების მეთოდოლოგია

==== ძირითადი ტერმინები ====
Quality Control(QC) = ხარისხის კონტროლი
Quality Assurance(QA) = ხარისხის უზრუნველყოფა, გრძელვადიანი და სრული უზრუნველყოფა
-- ტესტირების მიზანი = პროგრამული უზრუნველყოფის ფუნქციონალის წაყენებულ მოთხოვნებთან მზადყოფნის შემოწმება და შეცდომების დაფიქსირება.
-- დებაგინგი = პროგრამული ხარვეზების აღმოფხვრა
-- პოზიტიური ტესტირება = პროგრამული პროდუქტის მოთხოვნებთან შესაბამისობის დადასტურება კორექტული მონაცემებით
-- ნეგატიური ტესტირება = პროგრამული პროდუქტის გამართული მუშაობის ტესტირება არასტანდარტული და გაუთვალისწინებელი მონაცემების შემთხვევებში.
-- დესტრუქციული ტესტირება = სტრესული ვითარების შექმნა, გადატვირთვა, უსაფრთხოების გარღვევა და ა.შ.
-- Alfa-test = დეველოპერების ან ტესტერების მიერ განხორციელებული ტესტირებას ეწოდება ალფა-ტესტირება
-- Beta-test = მომხმარებელთა მიერ განხორციელებულ ტესტირებას ეწოდება ბეტა-ტესტირება
-- Experience-based Test Techniques (Exploratory Testing) = გამოცდილებაზე დაფუძნებული ტესტირება, როცა ტესტერი თვითონ წყვეტს რა გატესტოს
-- სტატიკური ტესტირება = როცა ტესტირება ხდება პროგრამული კოდის გაშვების გარეშე
-- დინამიური ტესტირება = როცა ტესტირება ხდება კოდის გაშვებით/პროგრამის მუშაობისას(ფუნქციონალის ტესტირება)
-- Smoke = ზოგადი(ზედაპირული, სწრაფი) ტიპის ტესტირება, ხდება პროექტის ყოველ ახალ ვერსიაზე, ხარვეზების ადრეული აღმოჩენისათვის
-- Sanity = კონკრეტული ფუნქციონალის ტესტირება, ხდება Smoke-ს შემდეგ, ძირითადად ხელით
-- Regression = განმეორებითი ტესტირებები ახალი ფუნქციონალის დამატებისას, რათა დავრწმუნდეთ ცვლილებებმა მოახდინა თუ არა გავლენა არსებულ და გატესტილ ნაწილზე
-- Re-test = განმეორებითი ტესტირება ხარვეზების გასწორების შემდეგ
-- black box = ტესტირება კოდთან წვდომის გარეშე
-- white box = ტესტირება კოდთან წვდომით
-- RTM (requirement traceability matrix) - მოთხოვნილებათა თვალყურის მატრიცა(ცხრილი), შედგება დამკვეთის მოთხოვნილებათა სიისგან და შესაბამისი ტესტ-კეისებისაგან, გამოიყენება მოთხოვნილებათა შესრულებისა და მათი შესაბამისი ტესტირების კონტროლისათვის.
-- Test summary report = ტესტირების შედეგების ანგარიში ცხრილის(ან სიის) სახით. ანგარიშში იწერება: ტესტის ნომერი(ტესტ-კეისის ID), სახელწოდება, ოპერაციის/პროცედურის აღწერა, მოსალოდნელი(სწორი) შედეგი, ტესტირების შედეგი, ხარვეზის სიმძიმე. ანგარიშში შეიძლება იყოს შეტანილი სტატისტიკური მონაცემები ტესტების რაოდენობაზე და ტიპზე, შენიშვნები, რჩევები და ა.შ.
-- test data სატესტო მონაცემები, ტესტირებამდე ხდება მათი წინასწარი შეგროვება ხელით ან გენერაცია პროგრამულად
==== ტესტირების 7 პრინციპი ====
1. დეფექტების ვერპოვნა არ ნიშნავს რომ ისინი არ არსებობს.
2. სრული ტესტირება ყველა შესაძლო შემთხვევისთვის არ არსებობს, მთავარია სწორი პრიორიტეტების განსაზღვრა
3. ტესტირების დაწყება უმჯობესია ადრეულ ეტაპზე, ხარვეზების დროული გასწორებისთვის
4. შეცდომების უმრავლესობა მცირე ადგილზეა ერთად დაგროვებული
5. მუდმივად ერთი ტიპის ტესტირების გამოყენებისას შეცდომების აღმოჩენა მცირდება და ვეღარ ხდება
6. სხვადასხვა ტიპის პროდუქტი სხვადასხვანაირად იტესტება, ტესტირების ტიპი დამოკიდებულია კონტენტზე
7. პრობლემების პოვნა და გასწორება არ არის ეფექტური, თუ პროდუქტი არ აკმაყოფილებს წაყენებულ მოთხოვნებს.

-- ტესტირება შეიძლება მოხდეს პროექტის დასრულების შემდეგ სრულად, ან ეტაპობრივად(იტერაციულად), პროექტის მზადების პარალელურ რეჟიმში. ტესტირება არსებობს მრავალი ტიპის: ფუნქციონალური, უსაფრთხოების, თავსებადობის, სისტემური, სტრესული, მწარმოებლური(სისწრაფე დატვირთვაზე), ინტეგრაციული, საინსტალაციო, ინტერფეისის(უსაბილიტი), საკონფიგურაციო და ა.შ.
ტესტირების დონეები შეიძლება დავყოთ:
1. მოდულური(Unit ტესტირება), პროდუქტის ცალკეული ნაწილის ტესტირება
2. ინტეგრაციული/კომპლექსური(მოდულების ერთობლივი მუშაობის)
3. სისტემური(მთელი სისტემის)
4. მოთხოვნებთან(სპეციფიკაციები) შესაბამისობის ტესტირება
ტესტირების უნივერსალური მეთოდოლოგია:
1. გასატესტი პროდუქტის ანალიზი, მთავარი და მეორეხარისხოვანი საკითხების განსაზღვრა, ფუნქციონალის შესწავლა, დამახასიათებელი ნიუანსები.
2. ტესტირების მოთხოვნების ჩამოყალიბება, მნიშვნელოვანი საკითხების გამოყოფა და ტესტირების ზოგადი გეგმის გაწერა.
3. ტესტირების გეგმის დეტალიზაცია, ჩეკ-ლისტებისა და ტესტ-კეისების შედგენა.
4. დეტალური ტესტირება გეგმაში გაწერილი პრიორიტეტების მიხედვით, ბაგ-რეპორტინგი.
5. ზოგადი გეგმისა და ჩეკ-ლისტების კორექტირება საჭიროების მიხედვით.
6. განმეორებითი ტესტირება, ბაგ-რეპორტინგი.

-- ტესტირების გეგმას აუცილებლად უნდა გაუკეთდეს აღწერა მნიშვნელოვან საკითხებზე: წაყენებულ მოთხოვნებზე, ვადებზე, რისკებზე, გამოყენებულ რესურსებზე, საჭირო დოკუმენტაციაზე, მონაცემთა შეგროვებაზე, ტესტირების სტრატეგიაზე და ა.შ.
ტესტირების გეგმის აგებულება:
1. ჩეკ-ლისტები(სია) ტიპების მიხედვით(ტიპი: ვიზუალური ტესტირების ჩეკ-ლისტი, ფუნქციონალურის ჩეკ-ლისტი, სისტემურის, პროგრამულის და ა.შ.)
2. ჩეკ-ლისტები გასატესტი საკითხების მიხედვით(ვიზუალურში: ზოგადი დიზაინის ჩეკ-ლისტი, ინტერფეისის, რესპონსივის და ა.შ.)
3. ტესტ-კეისები კონკრეტულ საკითხებზე და ფუნქციონალზე(ზოგად დიზაინში: საიტის ფერთა გამა, კონტრასტები და ა.შ.)
4. ტესტირების გეგმა შეიძლება იყოს 2 ან ბევრ საფეხურიანი. საწყისი საფეხურია ტიპები, შემდეგ სიები და ქვესიები(ჩეკ-ლისტები), ბოლოს ტესტ-კეისები.
ტერმინები
-- ტესტ-დიზაინი = ტესტების დაგეგმვა და შემუშავება
-- ტესტ-სტრატეგია(Test strategy) = ტესტირების პროცესის მიმდინარეობის სტრატეგია
-- ტესტ-გეგმა(Test plan) = ტესტირების პროცესის დეტალური გეგმა, აღწერა
-- ჩეკ-ლისტი(Check list) = გასატესტი საკითხების და ტესტირების იდეების ჩამონათვალი, მოკლე აღწერებით
-- ტესტ-კეისი(Test case) = კონკრეტული ფუნქციონალის ტესტირებისთვის საჭირო მოქმედებათა დეტალური აღწერა
-- ბაგ-რეპორტი(Bug report) = ანგარიში ხარვეზებზე, ივსება ტესტ-კეისების შესრულებისას. რეპორტში დეტალურად იწერება გასატესტი საკითხი, მოსალოდნელი შედეგი და აღმოჩენილი ხარვეზი.
-- ტესტ-რეპორტი(Test report) = ანგარიში ტესტ-კეისების შესრულებაზე, კეისების შესრულებისა და აღმოჩენილი ხარვეზების ზოგადი სტატისტიკა

-- ტესტირება ხდება ტესტ-კეისების ან ჩეკ-ლისტების მეშვეობით, პირველი არის გასატესტი პროცედურების დეტალური აღწერა, მეორე კი მხოლოდ გასატესტი საკითხების ჩამონათვალი.
ტესტ-კეისის შემადგენლობა
1. ტესტ-კეისის ნომერი ID
2. ტესტ-კეისის სახელწოდება(სათაური)
3. წინასიტყვაობა, ტესტირებისთვის საჭირო წინაპირობების მოკლე აღწერა
4. შესასრულებელ მოქმედებათა(პროცედურები) დეტალური აღწერა, თანამიმდევრობა
5. მოსალოდნელი შედეგი, რას ველოდებით ტესტირებისაგან
6. სტატუსი, ტესტირების შედეგი(Success, Failed, Blocked)
ტესტ-კეისის შედგენის წესები
1. ერთი ტესტ-კეისი მხოლოდ ერთ კონკრეტულ ფუნქციონალს ამოწმებს
2. ტესტ-კეისი არ უნდა იყოს დამოკიდებული სხვა ტესტ-კეისებზე
3. პროცედურების თანამიმდევრობა უნდა იყოს მკაფიოდ გაწერილი
4. ტესტ-კეისები სრულად უნდა შეიცავდნენ ტესტირებისთვის საკმარის ინფორმაციას
ტესტირების საკითხები, ვერიფიკაცია და ვალიდაცია
-- ვერიფიკაცია = კოდის გარეშე პროცესი
-- პასუხობს კითხვაზე = სწორად ვაკეთებთ თუ არა პროდუქტს?
-- მეთოდები = reviews, walkthroughs, inspections განსაზღვრაცს არის თუ არა პროგრამული უზრუნველყოფა მაღალი ხარისხის, ვერიფიკაცია მთავრდება Validation-ით
-- ვალიდაცია = ითვალისწინებს პროგრამის გაშვებას, ხდება ვერიფიკაციის შემდეგ
-- პასუხობს კითხვაზე = სწორ პროდუქტს ვაკეთებთ თუ არა? არის თუ არა მოთხოვნების შესაბამისი?
-- მეთოდები = Black Box, White Box და არაფუნქციური ტესტირება.
- Inspection in software engineering = ინსპექცია პროგრამული უზრუნველყოფის შემუშავების დროს მცოდნე სპეციალისტების მიერ, რომლებიც ეძებენ დეფექტებს მკაფიოდ განსაზღვრული პროცედურებით.
- Walkthroughs In software engineering = პროგრამული უზრუნველყოფის ეტაპობრივი განხილვის სახელმძღვანელო ექსპერტული შეფასებისათვის, რომლითაც დიზაინერი ან პროგრამისტი ჯგუფის წევრებთან განიხილავს ეტაპობრივად პროგრამულ პროდუქტს, წევრები კი სვავენ კითხვებს და აკეთებენ კომენტარებს შესაძლო შეცდომებსა და პრობლემებზე.
- Reviews In software development = პროგრამული პროდუქტის რეცენზირების ტიპი, რომლის დროსაც ხდება მისი შესწავლა ავტორის ან მისი კოლეგების მიერ პროდუქტის ხარისხისა და ტექნიკური შემადგენლობის შესაფასებლად.

-- საიტი trello.com = განკუთვნილია პროექტებისა და ღონისძიებების დაგეგმვისა და თანმიმდევრული შესრულებისათვის
საიტზე შესაძლებელია სამუშაო დაფის შექმნა, რომელიც შესასრულებელი სამუშაოს ტიპის მიხედვით შეგვიძლია დავყოთ სვეტებად, სვეტებში კი ჩავწეროთ შესასრულებელი/დაგეგმილი პროცედურები, ჩეკ-ლისტები, ტესტ-კეისები და ა.შ. საიტი უზრუნველყოფს კომენტარების დამატებას, შეტყობინებების დაგზავნას, ფაილების მიმაგრებას, დროის ათვლას, ჯგუფურ მუშაობას და ყველა სხვა საჭირო ფუნქციონალს.

საიტზე trello პროექტის პრაქტიკული ტესტირებისას შეგვიძლია ტესტირების გეგმის(პროექტის) დაყოფა ასეთ სტრუქტურად:
- ტესტირების დაფები(boards), რომელზეც განლაგებულია სვეტები(განყოფილებები)
- გასატესტი განყოფილებები(list სვეტების სახით), რომლებიც დაჯგუფდება თემატურ(label) ჯგუფებად
- ქვეგანყოფილებები(card კარტების სახით), რომლებიც ჩამოწერილია სვეტებში
- გასატესტი საკითხების სიები(Checklist ჩეკ-ლისტების სახით), რომლებიც ჩაწერილია კარტებში
- კონკრეტული პროცედურები ჩეკ-ლისტის სტრიქონების სახით
- მიმაგრებული ტექსტური ან სხვა სახის ფაილები
გამოსადეგი საიტები:
trello.com = ტესტირების გეგმისა და ჩეკ-ლისტების შედგენა, ტესტირების კონტროლი
testcaselab.com = ტესტ-კეისების გასაკეთებლად



2. საიტების ტესტირება

===== ტესტირების პროცედურა =====
- საიტის შეფასება
- საიტის რუკის შედგენა
- ვიზუალის ტესტირება
- ფუნქციონალის ტესტირება
- ონლაინ ტესტირება
- რეპორტი
===== საიტის აღწერა და ტესტირების ამოცანების განსაზღვრა =====
- საიტის თემატიკის, დანიშნულებისა და ტიპის გარკვევა
- საიტის მნიშვნელოვანი ფუნქციონალის აღწერა
- ტესტირების მთავარი ამოცანების ჩამოყალიბება
===== ვიზუალური ტიპის ტესტირება =====
- საიტის დიზაინთან შესაბამისობა
- კნოპკებისა და ლინკების მუშა მდგომარეობის შემოწმება
- რესპონსივის გატესტვა 360 პიქსელამდე
- ვიზუალის შემოწმება ყველა ბრაუზერზე
- დიზაინის ზოგადი სტილისა და სტრუქტურის შეფასება
- ინტერფეისის მოხერხებულობის(იუზაბილიტის) შეფასება
- საიტის ფუნქციონალის შესაბამისობა მოთხოვნებთან
- კონტენტის შესაბამისობა
===== ფუნქციონალური ტიპის ტესტირება =====
- ადმინის ფუნქციონალის ტესტირება
- ზედა მენიუ, ნავიგაცია, კატეგორიების მუშაობა
- სხვადასხვა ლინკებისა და ღილაკების მუშაობა
- რეგისტრაციის, ავტორიზაციის, სხვა ფორმების გამართულობა
- ფილტრების, დალაგების ფუნქციების მუშაობა
- ძებნის გამართული მუშაობა
- ელემენტების ტესტირება: ჩამოსაშლელი სიები, სურათები, ჩეკბოქსები, რადიოები, სლაიდერები
- მოკარნახე title ტექსტების შემოწმება
- ფუტერის ტესტირება
===== ტექნიკური ტიპის ტესტირება =====
- SEO გამართულობა
- დატვირთვაზე ტესტირება
- უსაფრთხოება
- მკვდარი გვერდები
- კოდის ვალიდურობა(HTML, CSS)
- robots.txt ფაილი
- sitemap ფაილი
- ჩატვირთვა, რეაგირების სისწრაფე
- იკონკა, გვერდების title სათაურები
- SSL სერტიფიკატი
- H1-H6 ტეგები
- სტატისტიკის მთვლელები
- 404, 301 და სხვა გადამისამართებები
- სტრუქტურირებული მონაცემები scheme.org
- დუბლირებული გვერდები
- საიტის კუკ-ფაილები
- მოკლე ლინკები
- გრძელ ტექსტებზე მდგრადობა
- ბრაუზერებთან თავსებადობა



3. მობილური აპლიკაციის ტესტირება

არსებობს ნატივ-აპლიკაციები, რომლებიც უშუალოდ მობილური ტელეფონის ოპერაციულ სისტემაზეა მორგებული და ჩვეულებრივი აპლიკაციები, რომლებიც მობილურის ბრაუზერში იხსნება, არსებობს ასევე ჰიბრიდული აპლიკაციები.
მობილური აპლიკაციის ტესტირებისას მთავარი საკითხები:
1. ფუნქციონალური ტესტირება
2. უსაბილიტი/მოხერხებულობაზე ტესტირება
3. თავსებადობაზე ტესტირება
4. უსაფრთხოებაზე ტესტირება
5. წარმადობაზე ტესტირება
6. მონაცემთა ბაზის ტესტირება
სხვა საკითხები:
1. სტრესს-ტესტირება
2. ინსტალაციაზე ტესტირება
3. კროს-პლატფოტმულობაზე ტესტირება
4. განახლებადობაზე/აღდგენაზე ტესტირება
5. ლოკალიზაცია/გლობალიზაციაზე ტესტირება
6. გრაფიკული ინტერფეისის ტესტირება
--------------- ფუნქციონალური ტესტირება -----------------
- ტესტირების მიზანია ფუნქციონალის გამართულობისა და მასზე წაყენებულ მოთხოვნებთან შესაბამისობის გატესტვა.
- ტესტირება იყენებს გამოსავალ მონაცემებს(შედეგებს), რომელიც მიიღება მომხმარებლის ქმედების პასუხად.
-- სავალდებულო ველების ვალიდაციის გატესტვა, ფიფქის ნიშნის არსებობა ასეთ ველებში
-- შეუვსებელი სავალდებულო ველების შემთხვევაში შეცდომის ფანჯარა უნდა ამოვარდეს, არასავალდებულოს შემთხვევაში კი არა.
-- რიცხვით ველებში მხოლოდ რიცხვები უნდა ჩაიწეროს, ან შეცდომა ამოვარდეს არარიცხვების შემთხვევაში.
-- ველების შემოწმება უარყოფით რიცხვებზე, ნულზე და ძალიან დიდ რიცხვებზე.
-- ნულზე გაყოფა არ უნდა იწვევდეს პრობლემებს.
-- ველების სიგანე საკმარისი უნდა იყოს შეტანილი მონაცემებისათვის
-- შეცდომის პოპ-უპ ფანჯრის ტესტირება გამართულად ფუნქციონირებაზე
-- დასადასტურებელი პოპ-უპ ფანჯრის ფუნქციონირების ტესტირება განახლების, წაშლისა და სხვა ოპერაციებისას.
-- ღირებულების მნიშვნელობის შემოწმება დეფაულტ მნიშვნელობაზე(ფასი, ვალუტა).
-- ველების ტესტირება სპეცსიმბოლოებზე
-- დროის გასვლის(ამოწურვის) ფუნქციონალის შემოწმება
-- სორტირების(დალაგების) ფუნქციონალის შემოწმება
-- ღილაკების ფუნქციონალის შემოწმება
-- გამოყენების პირობების, წესებისა და ხშირად დასმული კითხვების გამართულობის შემოწმება
-- შეცდომის გვერდზე გადამისამართების ტესტირება
-- ატვირთული დოკუმენტების სწორად გახსნაზე და გადმოტვირთვაზე ტესტირება
-- ემაილთან დაკავშირებული ფუნქციონალის გატესტვა
-- ჯავასკრიპტის მუშაობა სხვადასხვა ბრაუზერზე(IE, Firefox, Chrome, Safari, Opera).
-- ქუქების წაშლისას სისტემის მოქმედების გადამოწმება(საიტის მუშაობაზე და მომხმარებლის მონაცემებზე)
-- ჩამოსაშლელ სიებში მონაცემთა სწორი განლაგების შემოწმება
----------- უსაბილიტი/მოხერხებულობაზე ტესტირება -------------
- ტესტირების მიზანია სამომხმარებლო ინტერფეისის მეგობრულობისა და მოხერხებულობის დადგენა.
- ტესტირებისას ასევე მოწმდება ინტერფეისის ათვისების სიადვილე ახალი მომხმარებლის მიერ, სისტემური ნავიგაცია და ვიზუალურად ინტუიციური აღქმადობა.
-- ვებ-გვერდისა პოპ-უპ ფანჯრების კონტენტის შემოწმება მართლწერაზე და გრამატიკულ შეცდომებზე.
-- კონტენტისა და პოპ-უპ ფანჯრების ტექსტების გასწორებასა და დაშორებებზე შემოწმება
-- შეტყობინებები შეცდომებზე უნდა იყოს გამართული გრამატიკულადაც და ორთოგრაფიულადაც, ასევე უნდა შეესაბამებოდეს ფანჯრის სათაურს
-- მოკარნახე ტექსტი უნდა ქონდეს ყველა ველს
-- ველები უნდა იყოს ზომებში გასწორებული
-- საკმარისი დაშორებები უნდა იყოს ველებს, შეტყობინებებს, სვეტებსა თუ სტრიქონებს შორის
-- ყველა კნოპკას სტანდარტული ფორმა და ზომა უნდა ქონდეს
-- საწყისი გვერდის ლინკი უნდა იყოს საიტის ყველა გვერდზე
-- უმოქმედო(არააქტიური) ველები ნაცრისფრად უნდა იყოს
-- საიტზე არ უნდა იყოს უმოქმედო ლინკები და ცარიელი სურათები
-- წაშლისა და განახლების ოპერაციებს აუცილებლად უნდა მოყვეს დამადასტურებელი შეტყობინება(პოპ-უპ ფანჯარა)
-- საიტის შემოწმება ეკრანის სხვადასხვა ზომებზე
-- აპლიკაციის მუშაობის შემოწმება გაჭედვების გარეშე
-- TAB-ების მუშაობის შემოწმება
-- სკროლინგი მხოლოდ მაშინ უნდა გამოჩნდეს, როცა საჭიროა
-- თუ ფორმის გაგზავნისას ვარდება შეტყობინება შეცდომაზე, მაშინ შეცდომაში უნდა იყოს მომხმარებლისთვის განკუთვნილი ინფორმაცია.
-- სათაური(header) უნდა ჩანდეს ყველა გვერდზე
-- ველები და კნოპკები ხელმისაწვდომი უნდა იყოს კლავიატურიდანაც და უნდა შეიძლებოდეს მართვა მხოლოდ კლავიატურის დახმარებით
-- შემოწმება ჩამოსაშლელ სიებში მონაცემები ხომ არ იჭრება ველების ზომების გამო.
---------- თავსებადობაზე ტესტირება -------------------
-- ტესტირების მიზანია აპლიკაციის თავსებადობის შეფასება ოპერაციულ სისტემასთან, ბრაუზერებთან და სხვა მოწყობილობებთან.
-- საიტის ვიზუალის გატესტვა სხვადასხვა ბრაუზერში(IE, Firefox, Chrome, Safari, Opera)
-- HTML-ს თავსებადობის შემოწმება ბრაუზერის შესაფერის ვერსიებთან
-- სურათების კორექტული გამოსახვა სხვადასხვა ბრაუზერში
-- შრიფტის კორექტული გამოსახვა სხვადასხვა ბრაუზერში
-- ჯავასკრიპტის მუშაობის შემოწმება სხვადასხვა ბრაუზერში
-- GIF ანიმაციების შემოწმება სხვადასხვა ბრაუზერში
---------- უსაფრთხოებაზე ტესტირება --------------------
-- ტესტირების მიზანია უსაფრთხოებაში ხარვეზების დაფიქსირება.
-- გვერდები, რომლებიც შეიცავენ მნიშვნელოვან ინფორმაციას(პაროლები, საკრედიტო კარტები, ფარული და პირადი ინფორმაცია), უნდა იხსნებოდეს HTTPS(SSL)-თი უნდა გაიხსნას
-- ფარული ინფორმაცია(პაროლები, საკრედიტო ნომრები) უნდა გამოჩნდეს დაშიფრული სახით
-- რეგისტრაციის, ავტორიზაციის, პაროლის შეცვლისა და პაროლის აღდგენის ფუნქციების შემოწმება.
-- ძველი, შეცვლილი პაროლით საიტზე შესვლის დაბლოკვის გატესტვა
-- ავტორიზაციის გარეშე საიტის ღია და დახურულ გვერდებთან წვდომის გატესტვა
-- საიტის კოდის ნახვის ფუნქციის შერმოწმება გამორთულია თუ არა
-- პაროლის რამოდენიმეჯერ არასწორად შეყვანისას მომხმარებლის ანგარიშის დაბლოკვის შემოწმება
-- პაროლი არ უნდა ინახებოდეს კუკებში
-- თუ რომელიმე ფუნქცია არ მუშაობს, მაშინ სისტემა უნდა აგდებდეს შეტყობინებას შეცდომაზე და არ უნდა აჩვენებდეს აპლიკაციაზე, სერვერზე ან ბაზაზე ინფორმაციას.
-- საიტის შემოწმება SQL ინექციაზე
-- საიტის მომხმარებელთა სტატუსების გამართული მუშაობა და უსაფრთხოება(ადმინი, მოდერი, უსერი და ა.შ.)
-- მნიშვნელოვანი ოპერაციები უნდა ინახებოდეს ლოგში(ისტორიაში) და შესაძლებელი უნდა იყოს გადახედვა
-- მისამართის ხაზში სესიის მნიშვნელობა უნდა გამოისახებოდეს დაშიფრული სახით
-- აპლიკაციის კუკები უნდა ინახებოდეს დაშიფრული სახით
-- აპლიკაციის შემოწმება brute force(брутфорс)-შეტევაზე
-------------- წარმადობაზე ტესტირება ---------------
-- ტესტირების მიზანია წარმადობის სტანდარტებთან შესაბამისობის დადგენა. უნდა განისაზღვროს მწარმოებლურობის, სტაბილურობისა და მასშტაბირების ხარისხი სხვადასხვა დატვირთვაზე, მათ შორის პიკურზე. ასევე უნდა დადგინდეს საუკეთესო წარმადობის მქონე კონფიგურაცია.
წარმადობის ტესტირების ინსტრუმენტები:
- Apache JMeter
- Load Runner
- Borland Silk Performer.
- Rational Performance Tester
- WAPT
- NEO LOAD
----------- მონაცემთა ბაზის ტესტირება -----------------
-- ტესტირებისას მოწმდება აპლიკაციის საშუალებით შეყვანილი ბექენდ-ჩანაწერები. მონაცემები, რომელიც ჩანს აპლიკაციაში, უნდა ემთხვეოდეს მონაცემებს, რომლებიც ჩაწერილია მონაცემთა ბაზაში.
-- მონაცემთა ბაზის სახელების შემოწმება, ემთხვევა თუ არა სპეციფიკაციებს
-- ცხრილების, სვეტების, სვეტის ტიპებისა და მნიშვნელობების დეფაულტების შემოწმება ემთხვევა თუ არა სპეციფიკაციებს.
-- შემოწმება გვაძლევს თუ არა სვეტი ნულოვან მნიშვნელობას
-- ყოველ ცხრილში პირველადი და გარე გასაღების შემოწმება
-- შენახვის პროცედურის შემოწმება
-- შემოწმება არის თუ არა დაყენებული შენახვის პროცედურა
-- შენახვის პოროცედურების დასახელების შემოწმება
-- პარამეტრების დასახელების, ტიპის და რაოდენობის შემოწმება
-- შემოწმება არის თუ არა სავალდებულო პარამეტრები
-- რამოდენიმე პარამეტრის წაშლით შენახვის პროცედურის შემოწმება
-- მონაცემთა შემოწმება, როცა გამოსასვლელში ნულია, ჩანაწერი ნულით უნდა ექვემდებარებოდეს ზემოქმედებას
-- შენახვის პროცედურის შემოწმება უბრალო SQL მოთხოვნებით
-- ცხრილებში ყოველი ალმის(flag) ქცევის შემოწმება
-- ბაზაში მონაცემთა სწორად შენახვაზე შემოწმება
-- მონაცემების შემოწმება ყოველი განახლების, წაშლისა და ჩასმის დროს.
-- ველების სიგრძე ფრონტენდზე და ბექენდზე უნდა ემთხვეოდეს ერთმანეთს
-- მონაცემთა ბაზებში სახელების შემოწმება უნიკალურობაზე
-- ბაზაში დაშიფრული მონაცემების შემოწმება
-- ბაზის ზომისა და საპასუხო რეაქციის შემოწმება
-- მონაცემები, რომლებიც გამოსახულია ფრონტზე, უნდა ემთხვეოდეს ბექენდის მონაცემებს
-- ბაზაში არავალიდური მნიშვნელობების შეყვანისას მონაცემთა მთლიანობის შემოწმება
-- ტრიგერების შემოწმება
დამატებითი საკითხები



1. GIT ინსტრუქციები

- GIT არის პროექტებზე ერთობლივი მუშაობის სისტემა ფაილების ვერსიების შენახვისა და კონტროლის ფუნქციებით.
- GIT-ში ყველა მონაწილეს მთელი პროექტი თავის ლოკალურ დისკზე აქვს.
- მსგავსი სისტემები: SVN, Mercurial, Perforce, CVS, Bitkeeper
- მომსახურე საიტები github, bitbucket.

არის ცენტრალიზებული და განაწილებული(GIT) ვერსიების კონტროლის სისტემა. განაწილებულ სისტემაში ყველა მონაწილე ინახავს პროექტის ყველა ვერსიას და მის ისტორიას.
Github Desktop პროგრამის სახელმძღვანელო
ახალი ფაილების დამატება რეპოზიტორიაში ხდება საიტიდან github.com ოპციით add file შემდეგ საჭიროა Github desktop-ში Pull ბრძანება და ფაილები დაემატება რეპოზიტორიის ლოკალურ ფოლდერშიც(კომპიუტერში)
მენიუ:
File - New Repository - ახალი რეპოზიტორიის შექმნა, იქმნება კომპიუტერის ლოკალურ ფოლდერში
File - Add Local Repository - ლოკალური რეპოზიტორიის გახსნა
File - Clone Repository - კლონირება გიტჰაბიდან ან ლოკალიდან
Option - Integrations - ინტეგრაცია სუბლიმესთან ან ვიზუალ სტუდიო კოდთან
Option - Git - გიტჰაბის სახელის და მეილის ჩაწერა
Repository - Push - ცვლილებების შენახვა
Repository - Pull - ცვლილებების წამოღება გიტჰაბიდან ლოკალურში
Show in Explorer ფაილების ჩვენება
Open in Sublime Text ტექსტურ რედაქტორში გახსნა
Publish your repository to GitHub რეპოზიტორიის გამოქვეყნება გიტჰაბზე
განყოფილებები:
Current Repository - რეპოზიტორებს შორის გადართვა
Current Branch - განშტოებებს შორის გადართვა
Fetch origin - ცვლილებების განახლება და სინქრონიზაცია ლოკალურ და დაშორებულ ფაილებს შორის
Changes - მიმდინარე ცვლილებების სია
History - რეპოზიტორიის ოპერაციათა ისტორია
ზოგადი ოპერაციები:
Commit - ცვლილებების დაფიქსირება, კომიტს აქვს უნიკალური იდენტიფიკატორი, ავტორი, თარიღი, კომენტარები.
Tag - ანიჭებს სახელს განსაზღვრულ ვერსიას
clone - კლონირებას უკეთებს მთელ საცავს
Pull - აკოპირებს რეპოზიტორიის ცვლილებებს დაშორებული საცავიდან ლოკალურ საცავში
Push - აკოპირებს რეპოზიტორიის ცვლილებას ლოკალურიდან დაშორებულ საცავში
ზოგადი ბრძანებები
git config - პარამეტრების შეცვლა git config --global user.email адрес@gmail.com მეილის დაყენება
git init - GIT რეპოზიტორიის შექმნა
git add - ფაილების დამატება git add temp.txt ტექსტის დამატება
git clone - რეპოზიტორიის კლონირება git clone имя.пользователя@хост:/путь/до/репозитория
git commit - ცვლილების შენახვა git commit –m “Сообщение идущее вместе с коммитом”
git status - ფაილების სია მდგომარეობის სტატუსებით
git push - ცვლილების შენახვა მთავარ შტოში git push origin master
git checkout - განშტოების შექმნა command git checkout -b <имя-ветки>
- შტოებს შორის გადასვლა git checkout <имя-ветки>
git remote - გადართვა დაშორებულ რეპოზიტორიასთან
- ლოკალური რეპოზიტორიის დაკავშირება დაშორებულთან git remote add origin <адрес.удаленного.сервера>
git branch - შტოს ჩვენება, შექმნა, წაშლა git branch –d <имя-ветки> შტოს წაშლა
git pull - გლობალური ცვლილებების დამატება ლოკალურ ფაილებში
git merge - განშტოების გაერთიანება აქტიურ განშტოებასთან git merge <имя-ветки>
git diff - განშტოებებს შორის განსხვავების გამოვლენა git diff --base <имя-файла>
git tag - კომიტის მარკირება/მონიშვნა git tag 1.1.0 <вставьте-commitID-здесь>
git log - განშტოებაში ყველა კომიტის სიის ჩვენება
git reset - კომიტის ბოლო მდგომარეობამდე დაბრუნება
git rm - ფაილის წაშლა მუშა კატალოგიდან git rm имяфайла.txt
git stash - ცვლილებების დროებითი შენახვა
git show - git ობიექტზე ინფორმაციის ნახვა
git fetch - დაშორებული რეპოზიტორიიდან ყველა ობიექტთან წვდომა git fetch origin
git ls-tree - ობიექტების ხის ნახვა დასახელებებთან ერთად git ls-tree HEAD
git cat-file - ობიექტის ტიპის ნახვა SHA1-ის მეშვეობით git cat-file –p d670460b4b4aece5915caf5c68d12f560a9fe3e4
git grep - ფრაზის ან სიტყვის მოძებნა ხის შემადგენლობაში git grep "www.hostinger.ru"
gitk - ლოკალური რეპოზიტორიის გრაფიკული ინტერფეისი
git instaweb - ლოკალურ რეპოზიტორიასთან დაკავშირებული ვებსერვერის გაშვება git instaweb –httpd=webrick
git gc - რეპოზიტორიის ოპტიმიზაცია
git archive - ფაილების დაარქივება git archive --format=tar master
git fsck - ფაილური სისტემის მთლიანობის შემოწმება
git rebase - სხვა განშტოების კომიტის გამოყენება git rebase master

კომიტების იდენტიფიცირება ხდება უსაფრთხო ჰეშებით SHA1
URL არის რეპოზიტორიის მისამართი
ბრძანება git status გამოსახავს ფაილის 4 მდგომარეობას:
1. untracked - უცნობი
2. modified - უკვე შეცვლილი
3. staged - შესანახად გამზადებული
4. უცვლელი, საწყისი სახით

GIT-ის ფაილების სტრუქტურა ფოლდერში Git init რეპოზიტორიის შექმნისას
├── HEAD
├── branches
├── config
├── description
├── hooks
│  ├── pre-commit.sample
│  ├── pre-push.sample
│  └── ...
├── info
│  └── exclude
├── objects
│  ├── info
│  └── pack
└── refs
  ├── heads
  └── tags

1. HEAD - მიუთითებს განშტოებაში ბოლო კომიტზე.
2. config - პარამეტრების ფაილი, სადაც ინახება რეპოზიტორიის url, სახელი, მეილი და ა.შ.
3. description - რეპოზიტორიის აღწერა
4. hooks - სკრიპტების ფოლდერი.
5. info/exclude - რეპოზიტორიის გარეთ მყოფი ფაილები

ტერმინები:
- init - რეპოზიტორიის შექმნა
- remote add - დაშორებული რეპოზიტორიის დამატება
- clone - დაშორებული რეპოზიტორიის კლონირება
- add - ფაილების დამატება ცვლილებების დაფიქსირებისათვის
- commit - ცვლილებების დაფიქსირება
- push - ცვლილებების გაგზავნა დაშორებულ რეპოზიტორიაში
- pull - ცვლილებების მიღება დაშორებული რეპოზიტორიიდან
- merge - განშტოებების შერწყმა
- checkout - ლოკალური განშტოებების შექმნა/გადართვა

კომიტი = ცვლილებების(მუშა ფოლდერების) შენახვა. დაკომიტებისას ხდება ფაილის დაარქივება და სათაურთან(ჰეშთან) ერთად შენახვა.
├── 4c
│  └── f44f1e3fe4fb7f8aa42138c324f63f5ac85828 // hash
├── 86
│  └── 550c31847e518e1927f95991c949fc14efc711 // hash
├── e6
│  └── 9de29bb2d1d6434b8b29ae775ad8c2e48c5391 // hash
├── info // let's ignore that
└── pack // let's ignore that too

კომიტი შედგება 4 საკითხისგან: 1. სახელი(ჰეში) 2. კომენტარები 3. შემსრულებლის ინფორმაცია 4. მშობელი კომიტის ჰეში (tags) და (branch) არის ლინკები კომიტებზე



2. სკრამ მეთოდოლოგიები

ზოგადი მიმოხილვა
ციფრული თუ სხვა სახის პროდუქტების(პროექტების) შემუშავებისათვის ძირითადად 3 სპეციალობაა: ბიზნეს ანალიტიკოსი, პროექტის მენეჯერი და პროდუქტის მფლობელი(Product Owner). მათი მოვალეობები უმეტეს შემთხვევაში თავსებადია და მხოლოდ რამოდენიმე საკითხში განსხვავდება.

ბიზნეს ანალიტიკოსი = მარკეტინგისა და ბიზნესის სპეციალისტი, ახდენს ბიზნეს-პროექტების დაგეგმვასა და შემუშავებას, ბაზრის ანალიზს, სამომხმარებლო აუდიტორიის კვლევას, სარეკლამო გათვლებს. ასევე ახდენს საიტის საწყის პროექტირებას, ტექნიკური დავალების შედგენას, საიტის სტრუქტურის ჩამოყალიბებას, SEO მარკეტინგულ გათვლებს.

პროექტის მენეჯერი არის ხელმძღვანელი პირი, რომელიც დაკავებულია შემკვეთებთან ურთიერთობით, ბიზნეს-ანალიტიკით, მარკეტინგით, პროექტის შემუშავებითა და შემდგომი მხარდაჭერით. ასევე ახდენს საიტის საწყის პროექტირებას, ტექნიკური დავალების შედგენას, საიტის სტრუქტურის ჩამოყალიბებას, SEO მარკეტინგულ გათვლებს.

პროდუქტის(იგივე პროექტის) მფლობელი არის სქრამის გუნდის მთავარი მამოძრავებელი, პროექტის განხორციელებაზე პასუხისმგებელი, ადგენს მოთხოვნებს პროდუქტისადმი, ადგენს სამუშაო პროცესის მიმდინარეობის განრიგს(roadmap), ყოფს შესასრულებელ სამუშაოებს სპრინტებად, აწესებს სპრინტების ხანგრძლივობასა და მოცულობას(ბექლოგი), ახდენს ბექლოგის ელემენტების პრიორიტეტიზაციას, აკონტროლებს სამუშაოს შესრულების მიმდინარეობას და საჭიროების შემთხვევაში შეაქვს ცვლილებები.

აგილე-მანიფესტი, რომელზეც არის დაფუძნებული სკრამ მეთოდოლოგია
- ადამიანები უფრო მნიშვნელოვანია ვიდრე ინსტრუმენტები
- ხარისხი უფრო მნიშვნელოვანია ვიდრე დოკუმენტაცია
- შემკვეთთან ურთიერთობა უფრო მნშვნელოვანია ვიდრე კონტრაქტი
- ცვლილებებისათვის მზადყოფნა უფრო მნიშვნელოვანია ვიდრე შედგენილი გეგმა
სკრამის სამუშაო პრინციპები
- ყველა პროცესი არის გამჭვირვალე გუნდის წევრებისთვის
- გუნდის წევრები ახდენენ პროცესის მიმდინარეობის მუდმივ ინპექციას და ახდენენ ცვლილებების შეტანას
- შემკვეთის მოთხოვნები გუნდის ყველა წევრისთვის მნიშვნელოვანია
- სამუშაო სრულდება 1-4 კვირიანი ციკლებით(სპრინტებით), ყოველი ციკლისას ხდება შემკვეთთან უკუკავშირი.
- გუნდის ყველა წევრი თავისუფალია გადაწყვეტილების მიღებაში და პასუხისმგებელია თავის სამუშაოზე.
- ყოველდღიურად ხდება 15 წუთიანი შეხვედრა, სადაც გუნდის წევრები განიხილავენ წინა დღისით შესრულებულ და მიმდინარე დღისთვის დაგეგმილ სამუშაოებს, ასევე არსებულ პრობლემებს.
ძირითადი ტერმინები
- პროდუქტი = იგივე პროექტია, უმეტესად ციფრული პროექტი, შესაძლებელია სხვა ტიპის პროექტიც იყოს.
- პროდუქტის მფლობელი = სკრამ გუნდის ლიდერი, პროდუქტის განვითარებაზე პასუხისმგებელი
- სკრამ-მასტერი = სკრამის სამუშაო გარემოს უზრუნველყოფის სპეციალისტი
- დეველოპერების გუნდი = ტექნიკური საკითხების პროფესიონალთა თვითორგანიზებადი გუნდი
- სპრინტი = წინასწარ განსაზღვრული ვადა, რომლის დროსაც უნდა შესრულდეს სამუშაოთა ნაწილი
- ბექლოგი = შესასრულებელ ამოცანათა სია, რომლებიც უნდა შესრულდეს სპრინტის განმავლობაში
- ინკრემენტი = პროდუქტის ბექლოგის იმ ელემენტების ჯამი, რომლებიც შესრულდა მიმდინარე და წინა სპრინტების განმავლობაში.
Product Owner-ის მოვალეობები
- ურთიერთობა შემკვეთთან, ტექნიკურ პერსონალთან და დეველოპერებთან
- პროექტის შესწავლა, შემუშავება, მარკეტინგული ანალიზი
- ბექლოგის შემუშავება, პროექტის დაყოფა შესასრულებელ ამოცანებად
- სპრინტის დაგეგმვა და განხორციელების კონტროლი
- შესასრულებელი ამოცანების პრიორიტეტიზაცია
- ბექლოგის მართვა, ბექლოგის ამოცანების შესრულების კონტროლი
- ფოკუს-ჯგუფის შექმნა, მომხმარებელთა ინტერესების შესწავლა
- სტრატეგიების შემუშავება, ამოცანების გადაწყობა
სკრამ-მასტერის მოვალეობები
- დეველოპერთა გუნდის დახმარება, სამუშაო გარემოს უზრუნველყოფა
- ხელს უწყობს და ეხმარება დეველოპერთა ჯგუფს ხარისხიანი და ღირებული პროდუქტების შექმნაში
- აღმოფხვრის ჯგუფის მუშაობის პროცესში წარმოქმნილ შეფერხებებს
- მოთხოვნისა და საჭიროებისამებრ ხელს უწყობს სქრამის პროცესებს და ფასილიტაციას უწევს მას
- ასწავლის დეველოპერთა გუნდს, როგორ ადაპტირდნენ იმ გარემოში, სადაც სქრამი ჯერ კიდევ ახალია
- ახდენს შესაბამის ცვლილებებს სქრამის ჯგუფის პროდუქტიულობის გასაზრდელად
სპრინტი
- სპრინტის ხანგრძლივობა განისაზღვრება ერთი თვით ან უფრო ნაკლებით 1 კვირამდე
- ახალი სპრინტი იწყება მისი წინამორბედი სპრინტის დასრულებისთანავე.
- Product Owner-ს შეუძლია, სპრინტი დროზე ადრე გააუქმოს
- ყოველდღიური სქრამი გრძელდება 15 წუთი და ხდება გუნდის წევრების მიერ გასული დღის ანგარიშის ჩაბარება, მიმდინარე დღის მიზნებისა და პრობლემების განხილვა.
სპრინტის განხილვა:
- პროდუქტის მფლობელი იწვევს პროექტის ყველა მონაწილეს
- პროდუქტის მფლობელი განმარტავს, თუ ბექლოგის რომელი ელემენტი შესრულდა და რომელი არა
- დეველოპერთა გუნდი განიხილავს, რომელი საკითხი განხორციელდა წარმატებით, რომლებს შეექმნა პრობლემა და როგორ გადაიჭრა ეს პრობლემები;
- დეველოპერთა გუნდი ახდენს შესრულებული სამუშაოების დემონსტრირებას და პასუხობს კითხვებს ინკრემენტის შესახებ
- პროდუქტის მფლობელი განიხილავს პროდუქტის ბექლოგის მიმდინარე სტატუსს და პროგრესის გათვალისწინებით განსაზღვრავს პროექტის დასრულების სავარაუდო თარიღებს
- მიმოხილვის დროს მთელი ჯგუფი განიხილავს და გეგმავს მომდევნო საკითხებს
- განიხილავენ რომელია მომდევნო ყველაზე მნიშვნელოვანი და ღირებული საკითხი
- განიხილავენ პროდუქტის მომდევნო მოსალოდნელი გამოსვლის ვადებს, ბიუჯეტს და პოტენციალს
სპრინტის რეტროსპექტივა, მიზნები
- ბოლო სპრინტის შემოწმება, თუ როგორი იყო წევრებს შორის ურთიერთობა, როგორ მიმდინარეობდა პროცესი და რა ინსტრუმენტები გამოიყენეს
- იდენტიფიცირება იმისა თუ რა მიდიოდა სწორად და რა იყო პოტენციურად გამოსასწორებელი
- პროცესის გაუმჯობესებისთვის სამოქმედო გეგმის შემუშავება, რათა სქრამის გუნდმა უკეთ შეასრულოს თავის სამუშაო.
განსხვავებული მეთოდოლოგიები, სკრამი და კანბანი
- სკრამში მთავარია სპრინტის შესრულება, კანბანში მთავარია დასახული ამოცანების შესრულება.
- სკრამი ორიენტირებულია ცვლილებებზე და უკუკავშირზე, კანბანი ამოცანების თანამიმდევრულ შესრულებაზე.

სკრამის სამუშაო ონლაინ პროგრამა: https://www.atlassian.com ----- jira.com