FRONT-END (Angular)

16 წლიდან

ლექტორი - ნიკა კალანდაძე

TBC BANK - FRONT END დეველოპერი

კურსი განკუთვნილია სტუდენტებისთვის, რომლებიც 0-დან იწყებენ პროგრამირებას და სურთ შეისწავლონ თანამედროვე ვებ განვითარება. კურსი მოიცავს HTML-ს, CSS-ს, JavaScript-ს, TypeScript-ს და Angular-ს (Signals, Standalone), ასევე ვერსიონირების კონტროლს და AI ინსტრუმენტებს. თითოეული მოდული სრულდება პროექტის შექმნით და ცალკე პრეზენტაციის ლექციით.

რას მოგცემთ კურსი?

კურსის დასრულების შემდეგ თქვენ შეძლებთ:

  • შექმნათ სრულფუნქციური, responsive ვებ-გვერდები HTML და CSS გამოყენებით;

  • გამოიყენოთ JavaScript-ს ინტერაქტიული და დინამიური ვებ აპლიკაციების შესაქმნელად;

  • წარმართოთ TypeScript კოდი — ტიპებით, interfaces-ებით და generics-ებით;

  • ააშენოთ თანამედროვე Angular SPA-ებს Standalone Components-ით;

  • გამოიყენოთ Angular Signals-ს state management-ისთვის;

  • ეფექტურად გამოიყენოთ Git-ს ვერსიონირებისა და თანამშრომლობისთვის;

  • გამოიყენოთ AI ინსტრუმენტებს კოდის წერის და debugging-ის დასაჩქარებლად;

  • გქონდეთ პორტფოლიო 4 პრაქტიკული პროექტით;

  • მოამზადოთ საფუძველი Junior Front-End Developer-ის პოზიციისთვის;

  • კურსის განრიგი: ორშაბათი-ხუთშაბათი, 20:00 სთ;

  • კურსის დაწყება: აპრილი;

  • ფორმატი: Online (Google Meet);

  • ტექნოლოგიები:Git, HTML, CSS, JS, TypeScript, Angular

  • სერტიფიკატი: გაიცემა ცოდნის დამადასტურებელი სერტიფიკატი;

  • რეკომენდაცია: კურსის წარმატებით დახურვის შემთხვევაში გაიცემა რეკომენდაცია Linkdine-ზე;

  • 36 შეხვედრა - 72 საათი - 18 კვირა - 1 600 ლარი;

ის რაც კურსის შესახებ უნდა იცოდე:

  • თითოეული მოდულის ბოლოს სტუდენტებს ექნებათ საშინაო დავალებები თეორიული

    ცოდნის გასამყარებლად;

  • ფინალური პროექტები შეიძლება განხორციელდეს ინდივიდუალურად ან ჯგუფურად

    (ლექტორის შეხედულებისამებრ);

  • პრეზენტაციის ლექციაზე მხოლოდ პრეზენტაცია — ახალი მასალა არ ისწავლება;

  • AI ინსტრუმენტების გამოყენება ხელს შეუწყობს სწავლას, მაგრამ არ უნდა ჩაანაცვლოს

    ძირითადი კონცეფციების გაგებას;

  • TypeScript მოდული სასიცოცხლოდ მნიშვნელოვანია Angular-ამდე — არ გამოტოვოთ;

  • Signals-ი Angular 17+-ის თანამედროვე სტანდარტია — ახალ პროექტებში პრიორიტეტულია;

  • სილაბუსი შეიძლება განახლდეს კურსის მიმდინარეობისას ტექნოლოგიური

  • ცვლილებების გათვალისწინებით;

  • დამატებითი მასალები და რესურსები გაიცემა ლექციების დროს;

სილაბუსი

  • შეხვედრა # 1: შესავალი ვერსიონირებაში და Git საფუძვლები

    • რა არის ვერსიონირება და რატომ არის მნიშვნელოვანი

    • VS Code-ის დაყენება, Git ინსტალაცია და კონფიგურაცია

    • Chrome DevTools გაცნობა

    • Repository-ს შექმნა

    • ძირითადი ბრძანებები: git init, add, commit, status, log

    • Staging area-ს კონცეფცია

    შეხვედრა 2: Git-ით მუშაობა და GitHub

    • Branches და merge

    • Remote repositories — GitHub/GitLab

    • git push, pull, clone

    • Merge conflicts-ის გადაჭრა

    • Pull requests და code review

    • პრაქტიკული სავარჯიშოები

  • შეხვედრა # 3: HTML საფუძვლები

    • HTML-ის სტრუქტურა და სინტაქსი

    • ძირითადი თეგები და ატრიბუტები

    • Headings, paragraphs, links

    • Semantic HTML — header, nav, main, section, article, footer

    • Chrome DevTools — Inspect

    შეხვედრა # 4: ტექსტი, სიები, სურათები და მულტიმედია

    • Text formatting: strong, em, span

    • Lists: ul, ol, li

    • Images: img, alt, width/height

    • Audio და video ელემენტები

    • პრაქტიკა: ვებ-გვერდი მულტიმედიით

    შეხვედრა 5: HTML ფორმები და Accessibility

    • Form ელემენტი და მისი ატრიბუტები

    • Input types (text, email, password, checkbox, radio, date)

    • Select, textarea, button, label

    • Form validation — required, pattern, min/max

    • Accessibility საფუძვლები: aria-label, tabindex, კონტრასტი

    შეხვედრა # 6: ცხრილები, Meta, SEO და HTML5

    • Tables: table, tr, td, th, thead, tbody

      Table accessibility

    • Meta tags და SEO საფუძვლები

    • Canvas და SVG — მარტივი შესავალი

    • HTML validation

    შეხვედრა # 7: ფინალური პროექტი 1: სრული HTML ვებ-გვერდი

    • Semantic markup-ის გამოყენება

    • ფორმების ინტეგრაცია

    • Accessibility და validation

    • GitHub-ზე ატვირთვა

    • პროექტის განხილვა

    შეხვედრა # 8: პრეზენტაცია

    • სტუდენტები წარადგენენ HTML პროექტებს• კოდის განხილვა და უკუკავშირი

    • კითხვა-პასუხი

  • შეხვედრა #9: CSS საფუძვლები + Box Model

    • CSS სინტაქსი, სელექტორები (tag, class, id, pseudo)

    • Colors, backgrounds, gradients

    • Text styling: font-family, font-size, font-weight, line-height

    • Box model: margin, padding, border, width/height

    • CSS-ის დაკავშირება (inline, internal, external)

    შეხვედრა #10: Layout — Positioning და Display

    • Display property: block, inline, inline-block, none

    • Position: static, relative, absolute, fixed, sticky

    • Z-index, Float, Overflow

    • CSS Variables (Custom Properties)

    შეხვედრა #11: Flexbox

    • Flex container და flex items

    • Main axis და cross axis

    • justify-content, align-items, align-content

    • flex-grow, flex-shrink, flex-basis, flex-wrap

    • პრაქტიკა: ნავბარი + ბარათების layout

    შეხვედრა #12: CSS Grid

    • Grid container და grid items

    • grid-template-columns, rows, areas

    • fr ერთეული, repeat(), minmax(), auto-fit

    • Grid gap და alignment

    • Flexbox vs Grid — როდის რა გამოვიყენოთ

    შეხვედრა #13: Responsive Design

    • Media queries

    • Mobile-first approach

    • Viewport meta tag

    • Responsive units: %, em, rem, vw, vh

    • Responsive images

    • AI ინსტრუმენტები CSS-ში (ChatGPT, Copilot, Claude)

    შეხვედრა #14: Animations, Transitions და Advanced CSS

    • Transitions: property, duration, timing-function• Transforms: translate, rotate, scale, skew

    • Keyframe animations

    • Pseudo-classes და pseudo-elements (:hover, ::before, ::after)

    • Sass/SCSS საფუძვლები, Tailwind გაცნობა

    შეხვედრა #15: ფინალური პროექტი 2: Responsive ვებ-გვერდი

    • სრული responsive ვებ-გვერდი

    • Flexbox + Grid layouts

    • Animations და transitions

    • GitHub Pages-ზე გამოქვეყნება

    • პროექტის განხილვა

    შეხვედრა #16: პრეზენტაცია

    • სტუდენტები წარადგენენ CSS/Responsive პროექტებს

    • კოდის განხილვა და უკუკავშირი

    • კითხვა-პასუხი

  • შეხვედრა #17: JavaScript საფუძვლები

    • JavaScript-ის შესავალი და როლი

    • Variables: var, let, const

    • Data types: string, number, boolean, null, undefined, object

    • Operators — არითმეტიკული, ლოგიკური, შედარების

    • Console და debugging საფუძვლები

    შეხვედრა #18: Control Flow და Functions

    • Conditionals: if/else, switch, ternary

    • Loops: for, while, do-while, for-of, for-in

    • Functions: declaration, expression, arrow functions

    • Parameters, return values, default parameters

    • Scope, hoisting

    შეხვედრა #19: Arrays და Objects

    • Arrays: შექმნა, წვდომა, methods (push, pop, shift, unshift, splice)

    • Array iteration: forEach, map, filter, reduce, find

    • Objects: properties, methods, destructuring

    • Spread operator, rest parameters

    • JSON

    შეხვედრა #20: DOM Manipulation და Events

    • DOM-ის კონცეფცია• Selecting elements: getElementById, querySelector, querySelectorAll

    • Modifying content, attributes, classList

    • Creating და removing elements

    • Event listeners, event object, event delegation

    შეხვედრა #21: Advanced JavaScript

    • Closures

    • this keyword

    • Prototypes და inheritance

    • ES6+ features: template literals, optional chaining, nullish coalescing

    • Modules: import/export

    • Error handling: try/catch/finally

    შეხვედრა #22: Asynchronous JavaScript

    • Synchronous vs Asynchronous

    • Callbacks და callback hell

    • Promises

    • Async/Await

    • Fetch API — GET, POST მოთხოვნები

    • localStorage და sessionStorage

    შეხვედრა #23: JavaScript Best Practices და Debugging

    • Browser developer tools — სიღრმეში

    • Debugging techniques: breakpoints, watch expressions

    • Performance optimization საფუძვლები

    • Common mistakes და how to avoid them

    შეხვედრა #24: ფინალური პროექტი 3: ინტერაქტიული Web Application

    • Dynamic ვებ აპლიკაციის შექმნა

    • DOM manipulation + Events

    • Fetch API integration

    • localStorage-ის გამოყენება

    • GitHub-ზე ატვირთვა

    • პროექტის განხილვა

    შეხვედრა #25: პრეზენტაცია

    • სტუდენტები წარადგენენ JavaScript პროექტებს

    • კოდის განხილვა და უკუკავშირი

    • კითხვა-პასუხი

  • შეხვედრა #26: TypeScript საფუძვლები

    • რა არის TypeScript და რატომ გამოვიყენოთ

    • TypeScript-ის ინსტალაცია და კონფიგურაცია (tsconfig.json)

    • ძირითადი ტიპები: string, number, boolean, any, unknown, void, never

    • Arrays, Tuples, Enums

    • Type annotations და type inference

    • Union types, Intersection types, Type aliases

    შეხვედრა #27: TypeScript — Interfaces, Classes, Generics

    • Interfaces — ობიექტების კონტრაქტი

    • Optional (?) და readonly properties

    • Classes: constructor, access modifiers (public, private, protected)

    • Inheritance (extends), implements

    • Generics — მოქნილი ტიპები (<T>)

    • TypeScript Angular-ში — კავშირი შემდეგ მოდულთან

  • შეხვედრა #28: Angular შესავალი + Standalone Components

    • რა არის Angular, SPA, Component-Based Architecture

    • Angular CLI: npm install -g @angular/cli

    • პირველი Angular პროექტი: ng new (standalone: true)

    • Angular პროექტის სტრუქტურა

    • Standalone Component — @Component, selector, template, styles

    • Template Syntax: interpolation {{ }}, property binding [ ]

    • Event binding ( ) — click, input

    შეხვედრა #29: Angular Signals — თანამედროვე State Management

    • რა არის Signals და რატომ შეცვალა RxJS ბევრ სცენარში

    • signal() — სტეიტის შექმნა

    • computed() — დამოკიდებული მნიშვნელობები

    • effect() — გვერდითი ეფექტები

    • Signals vs RxJS BehaviorSubject — შედარება

    • Signals template-ში: {{ counter() }}

    • input() signal — Input Properties ახალი სინტაქსით

    • output() — Output Events ახალი სინტაქსით

    შეხვედრა #30: Components + Directives + Pipes

    • Component Lifecycle Hooks: ngOnInit, ngOnDestroy, ngOnChanges• Component Communication — @Input(), @Output()

    • Built-in control flow: @if, @for, @switch (Angular 17+)

    • ngClass, ngStyle

    • Custom directives შექმნა

    • Built-in Pipes: date, currency, uppercase, async

    • Custom Pipes შექმნა

    შეხვედრა #31: Services + Dependency Injection + HTTP

    • Services შექმნა: @Injectable({ providedIn: "root" })

    • Dependency Injection — კონცეფცია და გამოყენება

    • HttpClient — GET, POST, PUT, DELETE

    • Observables და RxJS საფუძვლები (subscribe, map, catchError)

    • Error handling HTTP request-ებში

    შეხვედრა #32: Routing + Forms

    • Routing configuration — provideRouter()

    • RouterOutlet, RouterLink, RouterLinkActive

    • Route parameters (:id) და query parameters

    • Lazy loading — loadComponent()

    • Route guards: CanActivate

    • Reactive Forms: FormGroup, FormControl, FormBuilder

    • Built-in validators + custom validators

    შეხვედრა #33: Angular Advanced Topics + Best Practices

    • State Management — Signals-ით სრული მაგალითი

    • Performance: ChangeDetectionStrategy.OnPush

    • Standalone Application bootstrap-ი

    • Testing საფუძვლები (unit tests, component tests)

    • Deployment — ng build, GitHub Pages / Netlify

    • Best practices და code organization

    • AI ინსტრუმენტები Angular-ში

    შეხვედრა 34: ფინალური პროექტი 4: სრული Angular Application

    • Multiple standalone components + routing

    • Signals-ით state management

    • HTTP Service + backend API integration

    • Reactive forms + validation

    • Lazy loading

    • Build + Deployment

    • პროექტის განხილვა

    შეხვედრა #35: პრეზენტაცია

    • სტუდენტები წარადგენე ნ Angular პროექტებს

    • კოდის განხილვა და უკუკავშირი

რეგისტრაცია