Node.js და REST API-ები
შექმენით production-მზა REST APIs Node.js-ით და Express-ით. ასინქრონული patterns, middleware, JWT ავტენტიფიკაცია, მონაცემთა ბაზის ინტეგრაცია, შეცდომების დამუშავება.
Oleksii Anzhiiak
სოფტვეარ არქიტექტორი, უფროსი .NET ინჟინერი და თანადამფუძნებელი
კურსის ბოლოს თქვენ შეძლებთ
- production REST API-ს აშენება Node.js + Express-ზე
- DB-სთან დაკავშირება (Postgres ან Mongo), შესასვლელის ვალიდაცია, შეცდომების სწორი დამუშავება
- auth-ის (JWT, sessions) რეალიზება ისე, როგორც რეალური აპლიკაციები აკეთებენ
- API-ის ტესტირება და ნამდვილ სერვერზე გაშვება
- Node.js junior backend-ზე განცხადების შეტანა რეალური პროექტით პორტფოლიოში
გერგებათ ეს კურსი?
ეს თქვენთვისაა, თუ თქვენ…
- იცი JavaScript და გინდა backend-ის წერა იმავე ენაზე, რაზეც frontend-ი
- მიზნად ისახავ full-stack JS-ს — Node + React დომინანტი სტეკია სტარტაპებში 2026-ში
- გიმუშავია სხვის API-სთან და გინდა საკუთარის აშენება
არ აიღოთ ეს კურსი, თუ…
- არ იცი JavaScript — Node არის JS runtime; JS-ის გარეშე ეს იეროგლიფებია. ჯერ #11
- გინდა .NET backend — სხვა ეკოსისტემაა. აიღე #8 (ASP.NET Core)
- ფიქრობ რომ „backend = უბრალოდ შენახვაა" — კურსის ნახევარი იმაზეა, როგორ სწორად გაიტანო მონაცემები, ვალიდაცია უკეთო და უსაფრთხოდ შეინახო
ვინ კითხულობს
Oleksii Anzhiiak
სოფტვეარ არქიტექტორი, უფროსი .NET ინჟინერი და თანადამფუძნებელი
ოლექსი ანჟიაკი — სოფტვეარ არქიტექტორი, უფროსი .NET ინჟინერი და ToyCRM.com-ისა და ProfectusLab-ის თანადამფუძნებელი. 15+ წლიანი გამოცდილებით, ის სპეციალიზირდება განაწილებულ სისტემებში, cloud ინფრასტრუქტურაში, მაღალი დატვირთვის backend-ში და იდენტობის პლატფორმებში. ქმნის უსაფრთხო ავტენტიფიკაციის სისტემებს, არქიტექტურულ გადაწყვეტებს და თანამედროვე საგანმანათლებლო პროგრამებს, რომლებიც სტუდენტებს კარიერულ წინსვლაში ეხმარება.
ამჟამად ხელმძღვანელობს ToyCRM.com-ის არქიტექტურას — multi-tenant CRM პლატფორმას .NET-ზე, რომელსაც ჩვენი გუნდი აშენებს. იგივე პატერნები და დიზაინ-გადაწყვეტილებები, რომლებიც იქ გამოიყენება, პირდაპირ ჩნდება კურსებშიც: identity & auth, განაწილებული სერვისები, code review-ის კულტურა. სწავლობ ინჟინრებთან, რომლებიც აქტიურად უშვებენ production-კოდს, არა სახელმძღვანელოდან.
სილაბუსი
კურსი მოიცავს რეალური REST APIs-ების შექმნას ნულიდან deployment-მდე:
- 1 მოდული 1: Node.js runtime — event loop, modules, npm ecosystem
- 2 მოდული 2: Express.js — routing, middleware, request/response lifecycle
- 3 მოდული 3: მონაცემთა ვალიდაცია და შეცდომების დამუშავება — Zod, custom error middleware
- 4 მოდული 4: ავტენტიფიკაცია — JWT, refresh tokens, role-based access control
- 5 მოდული 5: მონაცემთა ბაზის ინტეგრაცია — Prisma/Mongoose, CRUD, relations
- 6 მოდული 6: ფაილების ატვირთვა და შენახვა — Multer, S3, presigned URLs
- 7 მოდული 7: API-ების ტესტირება — Jest, Supertest, integration vs unit testing
- 8 მოდული 8: Deployment — Docker საფუძვლები, Railway/Render, environment კონფიგურაცია
წინაპირობები
JavaScript საფუძვლები (რეკომენდებულია Introduction to JavaScript ან TypeScript Mastery).
საჭიროა JavaScript-ის საფუძვლები (async/await, promises, ES modules). TypeScript-ის ცოდნა დამატებითი უპირატესობაა.
რას ააშენებთ
გადიხარ გაშვებული REST API-თ — auth, ვალიდაცია, შეცდომების დამუშავება, ტესტები, ყველაფერი. სრული პაკეტი, რომელსაც Node junior-ისგან პირველ სამუშაოზე ელიან. ინტერვიუერებს არ ჭირდებათ წარმოდგენა, რომ ეს შეგიძლია — უკვე გააკეთე.
- Node.js runtime-მოდელი და event loop
- Express: routing, middleware, შეცდომების დამუშავება
- DB-სთან წვდომა (Postgres ან Mongo)
- Auth JWT-ით და sessions-ით
- API-ის ტესტირება Jest / Vitest-ით
სად დევს თქვენს კარიერაში
კურსის პარალელურად წასაკითხი
პირველი გაკვეთილი ჩვენი ხარჯითაა. გადაწყვიტე ინსტრუქტორთან გაცნობის შემდეგ.
ჩაერთე პირველ სესიაზე. თუ პირველი გაკვეთილის შემდეგ გადაწყვიტე, რომ ინსტრუქტორი არ გერგო — მისთვის არ იხდი, არცერთი უხერხული საუბრის გარეშე. (საცდელი მოქმედებს იმ კურსებზე, რომლებიც 5 გაკვეთილზე გრძელია; ეს კურსი ერგება.)
ფასი და რა შედის
რა შედის
- 16 ცოცხალი სესია × 2 საათი — მასწავლებელი ცოცხლად ატარებს, არა ჩანაწერი
- სლაიდები თითოეული სესიისთვის — შენთან რჩება და ნებისმიერ დროს შეგიძლია გადახედო
- მუშა კოდის ფაილები და data-ფაილები გაკვეთილიდან — შენს მანქანაზე იქნება დაკლონილი
- ყოველკვირეული სავალდებულო პერსონალური კოდის გადახედვით მასწავლებლისგან
- ჩაწერა მოთხოვნით — წინასწარ აცნობე მასწავლებელს („სამშაბათს ვერ მოვალ, ჩაწერე გთხოვ") და გაკვეთილი შენთვის ჩაიწერება
ხშირად დასმული კითხვები
რამდენ საათს მოითხოვს კვირაში?
გათვალე ცოცხალი სესიები პლუს დაახლოებით 1.5–2 საათი პრაქტიკისთვის თითოეულზე. სტუდენტების უმრავლესობა, ვინც გრაფიკში თავსდება, კვირაში 4–6 საათს ხარჯავს. ნაკლებიც მუშაობს — უბრალოდ მეტი დრო სჭირდება.
რა ხდება თუ გაკვეთილს გავაცდენ?
უთხარი მასწავლებელს გაკვეთილამდე — „სამშაბათს ვერ მოვალ, ჩაწერე გთხოვ" — და მასწავლებელი ჩაწერს ამ გაკვეთილს და გამოგიგზავნის. ჩანაწერები არ არის ავტომატური არქივი; ისინი მოთხოვნით კეთდება, როცა წინასწარ გვაცნობებ. გაკვეთილის შემდეგ გააკეთე სავალდებულო, შემდეგ სესიაზე კი მოდი კითხვებით.
რა შედის ფასში?
ცოცხალი სესიები მასწავლებელთან; სლაიდები თითოეული სესიისთვის (შენი რჩება); მუშა კოდის ფაილები და ნებისმიერი data-ფაილი, რომელიც გაკვეთილზე გამოვიყენეთ; ყოველკვირეული დავალება კოდის გადახედვით; და იმ სესიების ჩანაწერები, რომელზეც წინასწარ გაგვიფრთხილე. ყველაფერი დანარჩენი — სერთიფიკატი, alumni-წვდომა, mock ინტერვიუ — ცალსახად ჩამოთვლილია „რა შედის"-ში FAQ-ის ზემოთ იმ კურსებზე, სადაც ეს მოქმედებს.
და თუ ჩავეწერე და მასწავლებელი არ მერგო?
კურსებზე, რომლებიც 5 გაკვეთილზე გრძელია, პირველი სესია ფაქტობრივად საცდელია — თუ პირველი გაკვეთილის შემდეგ გადაწყვიტე, რომ მასწავლებელი არ გერგო, მისთვის არ იხდი. სჯობს ერთი გაკვეთილის მერე წახვიდე, ვიდრე 9 კვირა იტანო ცუდი კავშირი. (5 ან ნაკლები გაკვეთილის კურსები ძალიან მოკლეა — საცდელი შეთავაზება იქ აზრს კარგავს, ჩვეულებრივი ფასი მოქმედებს.)
შეიძლება თანხის უკან დაბრუნება, თუ შუაში მივატოვებ?
დიახ — სანამ კურსის ნახევარზე მეტი გამოუყენებელია (ანუ ნაკლებად ვიდრე 50% გაკვეთილისა გაიარე). თანხის დაბრუნება — გამოუყენებელ ნაწილზე პროპორციულად. შუა გზის შემდეგ აღარ ვაბრუნებთ — ვთვლით, რომ ღირებულება უკვე მიწოდებულია.
შემიძლია სასწავლო ენის შეცვლა?
ცოცხალი სესიები მიმდინარეობს იმ ენაზე, რომელიც ზემოთ ბლოკში „ხელმისაწვდომი ენები"-ა მითითებული. სლაიდები და კოდის ფაილები ჩვეულებრივ ხელმისაწვდომია ოთხივე ენაზე (ინგლისური, რუსული, უკრაინული, ქართული). ბევრი სტუდენტი უსმენს ერთ ენაზე და კითხულობს მეორეზე — ეს ნორმალურია.
მზად ვიქნები რეალური სამუშაოსთვის კურსის შემდეგ?
ერთი კურსი იშვიათად ანიჭებს ვინმეს სამუშაოს თვითონ — არცერთ სფეროში. ეს კურსი გაძლევს იმ საფუძველს, რომელსაც junior-დაქირავების მენეჯერი ელის: საკუთარი ხელით დაწერილი მუშა კოდი, ლექსიკა სხვისი კოდის წასაკითხად და ჩვევები, რომელიც გხდის დასაქირავებელ. გულახდილი პასუხი კითხვაზე „მზად ვარ?" ჩვენს roadmap-ზეა (ბმული გვერდის თავში) — გახსენი ის დონე, რომელზეც გინდა მისვლა, და წაიკითხე ჩეკლისტი „მზად ხარ, როცა…".
შემიძლია განვადებით გადახდა?
დიახ იმ კურსებისთვის, რომლებსაც ზედა ზოლში „ყოველთვიური გადახდა"-ა მითითებული — ჩვეულებრივ ეს ორი ან სამი თანაბარი თანხაა. ის კურსები, რომლებსაც ეს ოპცია არ აქვთ, ერთჯერად უნდა გადაიხადო. თუ ფასი ბარიერია, მოგვწერე — თითოეულ ქეისს ცალკე ვიხილავთ.