- ახსენით, თუ როგორ ატვირთავთ ვებ აპლიკაციები მონაცემებს ღრუბლოვან საცავში
- განასხვავეთ ღრუბლოვანი ფაილების შენახვა და ღრუბლოვანი მონაცემთა ბაზის შენახვა
- გაიგეთ, რა არის Supabase და როგორ დააყენოთ თქვენი საკუთარი ღრუბლოვანი საცავი
- Supabase პროექტი მონაცემთა ბაზით დაინტერესებული მხარეების უკუკავშირის შესანახად
- განახლებულია დამფუძნებლის ინსტრუმენტარიუმი , სადაც დაინტერესებული მხარეების გამოხმაურება ინახება Supabase მონაცემთა ბაზაში, ჩანაწერების დამატების/რედაქტირების/წაშლის შესაძლებლობით.
- სტუდენტებმა დაასრულეს წინა ტექნიკური განყოფილებები დამფუძნებლის ინსტრუმენტარიუმის მუშაობაზე მუშაობით.
ლოკალური საცავიდან ღრუბლოვან საცავამდე
თქვენი დამფუძნებლის ინსტრუმენტარიუმის ნაკრები თითოეული ერთეულის მიხედვით იზრდება. თქვენ შექმენით მოდულები უკუკავშირის შეგროვების, დაინტერესებული მხარეების თვალყურის დევნებისა და ხელოვნური ინტელექტით მართული ანალიზისთვის. ეს ინსტრუმენტები დაგეხმარებათ თქვენი ბიზნეს იდეის განვითარებაში და ამავდროულად, იმის გაგებაში, თუ როგორ მოერგოთ თქვენს იდეას.
თქვენი ყველა მონაცემი ამჟამად localStorage-ში ინახება.
თუმცა, არსებობს შეზღუდვა, რომელიც პრობლემად იქცევა, როგორც კი სხვებთან მუშაობას ან თქვენი აპლიკაციის გამოყენებას თქვენი მიმდინარე GitHub კოდური სივრცის გარეთ შეეცდებით.
წარმატებულ აპლიკაციებს, რომლებიც რეალურ მომხმარებლებს ემსახურებიან, სჭირდებათ მონაცემები, რომლებიც:
მონაცემები ნარჩუნდება
მომხმარებლებს შეუძლიათ ენდონ თავიანთ ინფორმაციას
მუშაობს სხვადასხვა მოწყობილობებზე
ადამიანები გადაერთვებიან ბრაუზერებს, კომპიუტერებს, ტელეფონებს და ა.შ.
თანამშრომლობის საშუალებას იძლევა
თქვენნაირი ბიზნესისა და განვითარების გუნდებს ინფორმაციის გაზიარება სჭირდებათ
შეუძლია ზრდა და მასშტაბირება
რაც 1 მომხმარებლისთვის მუშაობს, 1000-ისთვისაც უნდა იმუშაოს
ეს განყოფილება თქვენი პირველი ნაბიჯია ღრუბლოვან საცავში. თქვენ განაახლებთ თქვენს Founder's Toolkit-ს, რათა localStorage-ში შენახული მონაცემები ახლა უსაფრთხოდ შეინახოს ღრუბელში და ხელმისაწვდომი იყოს ნებისმიერი ადგილიდან. უფრო მნიშვნელოვანია, რომ თქვენ შეისწავლით ნიმუშებს, რომლებიც გამოიყენება მონაცემების ღრუბელში შენახვის სხვა სიტუაციებში.
Cloud ბაზა
ღრუბლოვანი საცავის განხილვა ორი ძირითადი გზით შეიძლება და განსხვავების გაგება დაგეხმარებათ სწორი არჩევანის გაკეთებაში სხვადასხვა ტიპის მონაცემებისთვის.
- ფაილების შენახვა შესანიშნავია იმ ფაილებისთვის, რომლებსაც მომხმარებლები ატვირთავენ ან ჩამოტვირთავენ. თქვენი პროექტის ყველა სამუშაო ფურცელი იდეალური მაგალითია, რადგან ეს არის დოკუმენტები, რომელთა შენახვა და აღდგენა გსურთ, რათა შეძლოთ სხვებთან თანამშრომლობა ნებისმიერი ადგილიდან. ამჟამად, თქვენ, სავარაუდოდ, იყენებთ Google Drive-ს ფაილების შენახვის მეთოდად.
- მონაცემთა ბაზის საცავი გამოიყენება მაშინ, როდესაც გაქვთ სტრუქტურირებული ინფორმაცია, როგორიცაა თქვენი დაინტერესებული მხარეების ჩანაწერები სახელებით, ტიპებითა და უკუკავშირის ველებით.
ახლა ჩვენ ყურადღებას გავამახვილებთ მონაცემთა ბაზის შენახვაზე.
ღრუბლოვანი საცავის სერვისის არჩევა
ღრუბლოვანი საცავის მრავალი ვარიანტი არსებობს. აი, როგორ შევადაროთ ყველაზე პოპულარული ვარიანტები მათთვის, ვინც MVP-ის შექმნას იწყებს.
სერვისი
დაყენების სირთულე
უფასო დონე
ფასები უფასო დონის შემდეგ
საუკეთესოა
სუპაბაზა
მარტივი
- 500 მბ მონაცემთა ბაზის საცავი
- 1 გბ ფაილის საცავი
- API-ს დიდი შეზღუდვები
- შეუზღუდავი API მოთხოვნები*
25 დოლარი/თვეში
- სტარტაპები, რომლებიც MVP-ებს ქმნიან
- SQL-ის შესწავლა
- აპლიკაციები, რომლებიც საჭიროებენ ავტორიზაციას + მონაცემთა ბაზას
Firebase
მარტივი
- 1 გბ ფაილის საცავი
- 1 გბ მონაცემთა ბაზის საცავი
- API-ს დიდი შეზღუდვები
- რეალურ დროში სინქრონიზაცია შედის
გადახდა გამოყენებისას ($0.18/GB მეხსიერება, $0.06/GB ჩამოტვირთვა)
- Google-ის ეკოსისტემა
- რეალურ დროში მომუშავე აპლიკაციები
- მობილური აპლიკაციები
- დამწყებთათვის (SQL-ზე მარტივი)
MongoDB ატლასი
საშუალო
- 512 მბ მონაცემთა ბაზის საცავი
- გაზიარებული კლასტერი
- შეზღუდული კავშირები
9 აშშ დოლარი თვეში (მიზნობრივი კლასტერი)
- NoSQL მონაცემთა ბაზები
- მოქნილი მონაცემთა სქემები
- დოკუმენტზე დაფუძნებული შენახვა
- დიდი მონაცემთა ნაკრებების მასშტაბირება
Amazon Web Services/Google Cloud Platform
კომპლექსური
- შეზღუდული (განსხვავდება სერვისის მიხედვით)
- ხელმისაწვდომია 12-თვიანი საცდელი პერიოდი
- ხშირად საჭიროა საკრედიტო ბარათი
ცვლადი (ძლიერ დამოკიდებულია გამოყენებაზე)
- საწარმოს აპლიკაციები
- სრული ინფრასტრუქტურის კონტროლია საჭირო
- გაფართოებული მასშტაბირების მოთხოვნები
- DevOps ექსპერტიზის მქონე გუნდები
ამ გაკვეთილისთვის ჩვენ ვიყენებთ Supabase საცავს .
რატომ სუპაბეისი?
- არ არის საჭირო რთული დაყენება ან საკრედიტო ბარათი
- დიდი უფასო დონე, რომელიც რეალურად მუშაობს MVP-ებისთვის. ზოგიერთი „უფასო დონე“ იმდენად შეზღუდულია, რომ არსებითად მხოლოდ საცდელი ვერსიაა. 2026 წლის 22 იანვრის მდგომარეობით, Supabase გთავაზობთ 1 GB მეხსიერებას და შეუზღუდავ API მოთხოვნებს თვეში უფასოდ. ეს საკმარისია თქვენი MVP-ის შესაქმნელად, შესამოწმებლად და თუნდაც რბილი გაშვებისთვის, მოულოდნელი გადასახადების შიშის გარეშე. თქვენი სტარტაპის ზრდასთან ერთად, Supabase გთავაზობთ ვარიანტებს, რომლებიც თქვენს საჭიროებებზე მორგებულია.
- ერთი პლატფორმა თქვენი მთელი სარეზერვო საცავისთვის
- Supabase მხოლოდ MVP-ებისთვის არ არის. დღესდღეობით, მილიონობით მომხმარებლის მქონე კომპანიები Supabase-ზე მუშაობენ, ამიტომ თქვენი უნარები პირდაპირ გადაეცემა სხვა კომპანიებსაც.
თქვენ დაგჭირდებათ Supabase ანგარიშის და პროექტის შექმნა და API გასაღების მიღება, Google AI Studio-სა და Hugging Face-ის მსგავსად. კონცეფციები იგივეა: თქვენ აყენებთ წვდომას გარე სერვისზე, რომელთანაც თქვენი აპლიკაცია დაუკავშირდება.
განსხვავება ისაა, რომ Supabase თქვენი ინფრასტრუქტურის უფრო ცენტრალურ ნაწილად იქცევა. მიუხედავად იმისა, რომ Gemini ერთ კონკრეტულ ამოცანას, რომელიც ინტელექტუალური მონაცემების ანალიზს წარმოადგენს, უხელმძღვანელებს Supabase-ს, მას შეუძლია თქვენი საცავის, მონაცემთა ბაზის და პოტენციურად მომხმარებლის ავტორიზაციის მართვა. ეს, ფაქტობრივად, თქვენი აპლიკაციისთვის მთელ საფუძველს ქმნის.
უსაფრთხოება
მნიშვნელოვანია უსაფრთხოების გათვალისწინება ღრუბლოვანი საცავის შექმნისა და გამოყენებისას. Supabase საშუალებას გაძლევთ დააყენოთ უსაფრთხოების დონეები თქვენს აპლიკაციაში სხვადასხვა როლისთვის. საბაზისო დონეზე, RLS-ის (Row Level Security) ჩართვა წინა კარის ჩაკეტვას ჰგავს. მის გარეშე, თქვენი მონაცემთა ბაზა ღია წიგნია. ჩაკეტვის შემდეგ, ჩვენ უნდა შევქმნათ სპეციფიკური „ციფრული გასაღებები“ სხვადასხვა ჯგუფებისთვის. ჩვენი დამფუძნებლის ინსტრუმენტარიუმისთვის, ჩვენ გვსურს, რომ დაინტერესებულ მხარეებს მივცეთ საშუალება პირდაპირ შეიყვანონ საკუთარი უკუკავშირი. თუმცა, ჩვენ არ გვინდა, რომ მათ (და ყველას, ვინც ჩვენს აპლიკაციას გახსნის) მივცეთ მონაცემთა ბაზაში ჩანაწერების ნახვის, რედაქტირების ან წაშლის შესაძლებლობა. თუმცა, ჩვენ გვჭირდება, რომ გუნდის წევრებს ჰქონდეთ სრული წვდომა. ამიტომ, ჩვენი მონაცემთა ბაზისთვის დავაყენებთ ნებართვების 2 დონეს.
ჩვენ ორ განსხვავებულ როლს ვასრულებთ:
- დაინტერესებული მხარეები (ანონიმური): საჯარო წვდომა ჩასმულ ჩანაწერებზე. მათ შეუძლიათ წვლილი შეიტანონ, მაგრამ არ შეუძლიათ ისტორიის შეცვლა.
- გუნდი (ავტორიზებული): უსაფრთხო წვდომა ელექტრონული ფოსტით და პაროლით. ეს „ადმინისტრატორის“ დონე სრულ უფლებამოსილებას ანიჭებს ჩანაწერების შექმნას, წაკითხვას, განახლებას და წაშლას (CRUD) ინსტრუმენტების ნაკრების ორგანიზებულად შესანარჩუნებლად.
აქტივობა 1
შექმენით თქვენი Supabase ანგარიში და პროექტი
სავარაუდო დრო: 15 წუთი
თქვენ შექმნით Supabase ანგარიშს და პროექტს, დააყენებთ თქვენს დაინტერესებული მხარეების ცხრილს და მიიღებთ API გასაღებს თქვენი აპლიკაციიდან ცხრილზე წვდომისთვის.
1. შექმენით თქვენი Supabase ანგარიში
- ანგარიშის შესაქმნელად გადადით supabase.com- ზე
- დააწკაპუნეთ რეგისტრაციისთვის. ორგანიზებულობის შესანარჩუნებლად გირჩევთ, დარეგისტრირდეთ თქვენი GitHub ანგარიშით.
2. ახალი პროექტის შექმნა
- რეგისტრაციის შემდეგ, დააჭირეთ ახალი პროექტის შესაქმნელად.
- შეიყვანეთ თქვენი პროექტის სახელი.
- შექმენით ძლიერი პაროლი ან დააჭირეთ ღილაკს „პაროლის გენერირება ავტომატურად შესაქმნელად“.
- შეინახეთ ეს პაროლი უსაფრთხო ადგილას, რადგან ის დაგჭირდებათ მონაცემთა ბაზაზე პირდაპირი წვდომისთვის.
- აირჩიეთ თქვენი ორგანიზაცია (უფასო ვერსიაში შეიძლება მხოლოდ ერთი ორგანიზაციის დაშვება იყოს და ნაჩვენები იქნება ნაგულისხმევი ორგანიზაცია).
- აირჩიეთ რეგიონი, რომელიც თქვენთან და თქვენს მომხმარებლებთან ყველაზე ახლოსაა. ეს გავლენას ახდენს მუშაობაზე, რადგან მათთან უფრო ახლოს შენახული მონაცემები უფრო სწრაფად ჩაიტვირთება.
- უსაფრთხოების პარამეტრების ქვეშ:
- შეინარჩუნეთ ნაგულისხმევი „მონაცემთა API + კავშირის სტრიქონი“, რადგან ეს გაძლევთ მეტ მოქნილობას და სიმარტივეს მათი API-ს გამოყენებისას ან მონაცემთა ბაზასთან პირდაპირ დაკავშირებისას.
- შეინარჩუნეთ ნაგულისხმევი პარამეტრი „გამოიყენეთ საჯარო სქემა მონაცემთა API-სთვის“ . ეს არის სტანდარტული პარამეტრი, რომელიც მუშაობს აპლიკაციების უმეტესობისთვის. „მიძღვნილი API სქემის“ ვარიანტი განკუთვნილია უსაფრთხოების მოწინავე საჭიროებებისთვის, რომლებიც ამჟამად არ გჭირდებათ.
- დააწკაპუნეთ ახალი პროექტის შესაქმნელად და დაელოდეთ მის დასრულებას (1-2 წუთი)
3. მონაცემთა ბაზის ცხრილის შექმნა
ჩვენ ვაპირებთ ჩვენს მონაცემთა ბაზაში შევქმნათ ცხრილი ჩვენი დაინტერესებული მხარეების უკუკავშირისთვის.
- „მონაცემთა ბაზის შექმნის“ განყოფილებაში დააჭირეთ ღილაკს „ცხრილის რედაქტორი“ .
- დააჭირეთ ცხრილის შექმნას .
- დაასახელეთ ცხრილი „დაინტერესებული მხარეები“ და მიეცით მას აღწერა.
- Supabase ცხრილს იწყებს ID- ით და დროის ნიშნულით, სახელწოდებით created_at . შეინახეთ ეს სვეტები, რადგან სასარგებლოა ცხრილში თითოეული რიგისთვის ID-ის ქონა და შეიძლება სასარგებლო იყოს იმის ცოდნა, თუ როდის ემატება ეს რიგები ცხრილს.
- კიდევ რა უნდა დავამატოთ? გადახედეთ დაინტერესებული მხარეების თვალთვალის ჩანართს თქვენს დამფუძნებლის ინსტრუმენტარიუმის ნაკრებში. ფორმა მოიცავს სახელს , ტიპს და ძირითად უკუკავშირს . დაამატეთ ეს 3 სვეტი და დააყენეთ ტიპი ტექსტზე.
- დააწკაპუნეთ ცხრილის შესანახად.
4. მონაცემთა ბაზაზე წვდომის უსაფრთხოების პოლიტიკის დაყენება
- ცხრილის რედაქტორში დააწკაპუნეთ თქვენი „დაინტერესებული მხარეების“ ცხრილის გვერდით მდებარე 3 წერტილზე და დააწკაპუნეთ „პოლიტიკების ნახვაზე“.
- RLS ჩართული უნდა იყოს. თუ არა, ჩართეთ RLS (Row Level Security) . ეს საშუალებას გაძლევთ ზუსტად დააყენოთ, ვის აქვს წვდომა თქვენს მონაცემთა ბაზასა და აპლიკაციაში არსებულ ცხრილებზე.
- თქვენი გუნდისთვის RLS პოლიტიკის კონფიგურაციისთვის დააწკაპუნეთ „პოლიტიკის შექმნა“ .
- შემდეგ ფანჯარაში,
- პოლიტიკის სახელისთვის აკრიფეთ გუნდური წვდომა .
- პოლიტიკის ბრძანებისთვის აირჩიეთ ყველა .
- სამიზნე როლებისთვის, ჩამოსაშლელ სიაში აირჩიეთ ავთენტიფიკაცია .
- გამოყენების შემდეგ, აკრიფეთ true.
- შემოწმების შემდეგ, აკრიფეთ true .
- დააჭირეთ ღილაკს „პოლიტიკის შენახვა“ .
ეს ავთენტიფიცირებულ მომხმარებლებს (გუნდს) ცხრილზე სრული წაკითხვის/ჩაწერის/წაშლის წვდომის საშუალებას აძლევს.
- დაამატეთ კიდევ ერთი პოლიტიკა (ხელახლა შექმენით პოლიტიკა ), ამჯერად დაინტერესებული მხარეებისთვის.
ეს დაინტერესებულ მხარეებს საშუალებას მისცემს, პირდაპირ დაამატონ უკუკავშირი აპლიკაციის საშუალებით. ამჯერად: - პოლიტიკის სახელისთვის აკრიფეთ დაინტერესებული მხარის წვდომა .
- პოლიტიკის ბრძანებისთვის აირჩიეთ INSERT .
- სამიზნე როლებისთვის , ჩამოსაშლელ სიაში აირჩიეთ ანონიმური .
- გამოყენების შემდეგ, აკრიფეთ true
- შემოწმების შემდეგ, აკრიფეთ true .
- დააჭირეთ ღილაკს „პოლიტიკის შენახვა“ .
5. მომხმარებლების დამატება
ახლა თქვენს მონაცემთა ბაზაში უნდა დაამატოთ ავტორიზებული მომხმარებლები. ეს შეიძლება იყოს თქვენი მთელი გუნდი, მაგრამ ახლა უბრალოდ დაამატეთ საკუთარი თავი, როგორც მომხმარებელი, რათა შეძლოთ აპლიკაციის გაშვება და ტესტირება.
- ეკრანის მარცხენა მხარეს, ავტორიზაციის ქვეშ, დააწკაპუნეთ მომხმარებლებზე .
- დააჭირეთ მომხმარებლის დამატებას .
- აკრიფეთ თქვენი ელექტრონული ფოსტის მისამართი, პაროლი, რომელსაც დაიმახსოვრებთ (ან სადმე შეინახავთ), მონიშნული დატოვეთ ავტომატური დადასტურება და დააჭირეთ მომხმარებლის შექმნას .
ამჟამად, ჩვენი დამფუძნებლის ინსტრუმენტარიუმი ყველაფერს ლოკალურ საცავში ინახავს. შეგვეძლო თავიდან დაგვეწყო ჩვენი Supabase მონაცემთა ბაზით, მაგრამ რადგან ინსტრუმენტარიუმების წინა ვერსიებიდან უკვე გვაქვს მნიშვნელოვანი გამოხმაურება დაინტერესებული მხარეებისგან, მოდით, უკვე არსებული მონაცემები გადავიტანოთ Supabase-ზე ჩვენს დაინტერესებული მხარეების ცხრილში. ამის გაკეთება შეგვიძლია ხელით, კოპირებითა და ჩასმით, და შეგვიძლია, LLM-საც კი ვთხოვოთ, რომ ეს სამუშაო ჩვენთვის შეასრულოს.
თუმცა, რადგან ჩვენი მონაცემები JSON ფორმატშია, ჩანაწერების ცხრილში ჩასასმელად, SQL-ის გამოყენებით, შეგვიძლია გამოვიყენოთ Supabase-ზე არსებული SQL რედაქტორი. SQL , ანუ სტრუქტურირებული შეკითხვის ენა , არის დომენ-სპეციფიკური ენა, რომელიც გამოიყენება მონაცემების სამართავად, განსაკუთრებით რელაციური მონაცემთა ბაზის მართვის სისტემაში.
აქტივობა 2
ადგილობრივი საცავის ღრუბლოვან საცავში გადატანა
სავარაუდო დრო: 15 წუთი
თქვენ ამოიღებთ თქვენს დაინტერესებული მხარის ინფორმაციას ბრაუზერის ლოკალური საცავიდან და შემდეგ იმპორტს მოახდენთ თქვენს Supabase ცხრილში.
1. JSON ფაილის ამოღება LocalStorage-დან
- დაბრუნდით თქვენს კოდურ სივრცეში და გაუშვით თქვენი დამფუძნებლის ინსტრუმენტარიუმის ნაკრები.
- ბრაუზერში გახსენით დეველოპერის ინსტრუმენტები და ლოკალური მეხსიერების სანახავად დეველოპერის ინსტრუმენტების ფანჯარაში დააწკაპუნეთ „აპლიკაციაზე“ .
- იპოვეთ თქვენი დაინტერესებული მხარეების უკუკავშირის ინფორმაცია localStorage-ში და დააწკაპუნეთ მაუსის მარჯვენა ღილაკით პირველ JSON ხაზზე. თქვენ დაინახავთ ამომხტარ მენიუს, სადაც შეგიძლიათ მნიშვნელობის კოპირება .
- გახსენით ტექსტური რედაქტორი (TextEdit ან Notepad) და ჩასვით JSON ფაილი ცარიელ დოკუმენტში.
- დაათვალიერეთ ფაილი და გაითვალისწინეთ, რომ თითოეული გასაღების სახელები JSON ფორმატშია, რადგან ისინი შეიძლება ოდნავ განსხვავდებოდეს Supabase ცხრილის სვეტებისგან.
ეს არის ჩვენი JSON-ის ნიმუში ქვემოთ
[
{
"name": "Jill Stein",
"type": "interview",
"feedback": "She is a teacher and knows many students this is a problem for. She thinks bringing in the parents and family to give them some education on the issue is helpful. Also bringing in the school admin to see how they can support. Also, many students do not have good internet access, especially in rural areas.",
"timestamp": "2026-01-14T03:47:10.531Z"
},
{
"name": "Phil Green",
"type": "email",
"feedback": "He is a student and has this issue. He does not have good internet access and he does not have transportation to get to a library either. He would need a way to get access during the school day or a means to access it otherwise. ",
"timestamp": "2026-01-14T03:48:13.193Z"
},
{
"name": "Billy Bob",
"type": "interview",
"feedback": "I absolutely love this idea. We need it!",
"timestamp": "2026-01-16T01:43:12.027Z"
},
{
"name": "Anna Banana",
"type": "email",
"feedback": "This is really a bad idea. I don't like it.",
"timestamp": "2026-01-16T01:46:33.361Z"
},
{
"name": "Millicent Penny",
"type": "interview",
"feedback": "I Love it! Best idea ever.",
"timestamp": "2026-01-16T01:50:46.785Z"
},
{
"name": "Fred Flintston",
"type": "interview",
"feedback": "This is probably the worst idea I have ever heard. Do not like it.",
"timestamp": "2026-01-16T01:52:06.319Z"
},
{
"name": "Betty White",
"type": "email",
"feedback": "Do not do it. It is a bad idea.",
"timestamp": "2026-01-16T01:53:19.377Z"
},
{
"name": "Mary Contrary",
"type": "email",
"feedback": "This is absolutely the most amazing idea I have ever heard. I absolutely love it.",
"sentiment": "positive",
"timestamp": "2026-01-16T02:05:42.541Z"
}
]
2. მონაცემების გადატანა Supabase-ში
- გახსენით თქვენი Supabase პროექტი და მარცხნივ მდებარე ხატულების მენიუში დააწკაპუნეთ SQL რედაქტორზე .
- ჩასვით შემდეგი კოდი SQL რედაქტორში.
INSERT INTO "Stakeholders" (name, type, feedback, created_at)
SELECT
value->>'name',
value->>'type',
value->>'feedback',
(value->>'timestamp')::timestamp
FROM json_array_elements('YOUR JSON HERE'::json) AS value;
- კოდს გადახედეთ, რომ გაიგოთ, როგორ მუშაობს.
პირველი INSERT INTO ხაზი მიუთითებს, რომ გსურთ მონაცემების ჩასმა დაინტერესებული მხარეების ცხრილში, კერძოდ, ამ 4 სვეტში.
შეცვალეთ ეს ხაზი ისე, რომ ზუსტად ემთხვეოდეს თქვენი Supabase ცხრილის ცხრილისა და სვეტის სახელებს . - SELECT ხაზი განსაზღვრავს, თუ რომელი ველების/გასაღებების ამოღება გსურთ თქვენი JSON ფაილიდან.
რედაქტირება მოახდინეთ, რათა ჩამოთვლილი ველებიდან ნებისმიერი ზუსტად შეესაბამებოდეს თქვენს JSON ფაილში არსებულ გასაღებებს.- value->>'name' ნიშნავს „მიიღეთ 'name' ველი JSON-დან“
- ::timestamp ნიშნავს „სტრიქონის დროის ნიშნულის ფორმატში გადაყვანას“
- FROM ხაზი მიუთითებს, რომ JSON მასივი არის რიგების ნაკრები, რომელთა შორისაც გსურთ ციკლის გავლა. თითოეულ ჩანაწერს ან რიგს ეწოდება value . ჩასვით თქვენი JSON ფაილი FROM ხაზში ბრჭყალებს შორის.
- SQL ბრძანების გასაშვებად დააჭირეთ ღილაკს „ გაშვება“ .
- თუ რაიმე შეცდომას შეამჩნევთ, შეამოწმეთ, შეგიძლიათ თუ არა პრობლემის მოგვარება ან დახმარებისთვის მიმართეთ სამართლის მაგისტრს. წინააღმდეგ შემთხვევაში, უნდა ნახოთ წარმატებულობის შესახებ შეტყობინება.
- დაბრუნდით ცხრილის რედაქტორში . ცხრილში თქვენი ჩანაწერები უნდა დაინახოთ.
აქტივობა 3
განაახლეთ დამფუძნებლის ინსტრუმენტები ღრუბელში შესანახად
სავარაუდო დრო: 15 წუთი
ახლა თქვენ დაამატებთ ჩასმის შესაძლებლობებს დაინტერესებული მხარეებისთვის, რათა მათ თავად დაამატონ უკუკავშირი და გუნდის წევრებისთვის დაინტერესებული მხარეების მონაცემთა ბაზაზე წვდომის წაკითხვა/ჩაწერა/წაშლა.
1. გახსენით თქვენი GitHub საცავი და კოდური სივრცე
რადგან კოდში ბევრ ცვლილებას შევიტანთ, გირჩევთ, წინა ერთეულებიდან სრულად მიჰყვეთ Git-ის სამუშაო პროცესს.
- გადადით GitHub-ზე და გახსენით თქვენი Founder's Toolkit საცავი
- შექმენით ახალი ფილიალი main-დან და დაარქვით მას სახელი supabase-cloud-storage
- გახსენით თქვენი წინა Codespace და იქ შეამოწმეთ ახალი ფილიალი.
- დაელოდეთ გარემოს ჩატვირთვას.
2. დაამატეთ ავტორიზაციის მონაცემები თქვენს „.env“ ფაილში
თქვენ დაგჭირდებათ თქვენი Supabase პროექტის URL და გამოქვეყნებადი გასაღები, რომელიც არსებითად თქვენი მონაცემთა ბაზის API-ია.
- Supabase-ში, პროექტის პარამეტრებზე წვდომისთვის დააწკაპუნეთ მარცხნივ მდებარე Home Gear ხატულაზე .
- პროექტის URL-ის მოსაძებნად დააწკაპუნეთ Data API- ზე.
- დააწკაპუნეთ მარცხნივ API გასაღებებზე და იქ იპოვით თქვენს გამოსაქვეყნებელ გასაღებს .
- Codespaces-ში გახსენით თქვენი „.env“ ფაილი და დაამატეთ ეს 2 ხაზი:
SUPABASE_URL=YOUR_SUPABASE_PROJECT_URL
SUPABASE_ANON_KEY=თქვენი_SUPABASE_PUBLISHABLE_KEY
- დააკოპირეთ/ჩასვით ზემოთ მოცემული ტექსტი და შეცვალეთ იგი თქვენი პროექტის URL-ით და Supabase-დან გამოსაქვეყნებელი გასაღებით.
3. მიეცით Copilot-ს ინსტრუქცია, დაამატოს Supabase Storage ფუნქცია
ამას რამდენიმე ეტაპად გავაკეთებთ, რადგან აქ ბევრი რამ არის ჩართული, ამიტომ ეტაპობრივად დამატება დაგეხმარებათ გამართვაში და წარმოშობილ პრობლემებში.
დაიწყეთ შემდეგი მოთხოვნის მსგავსი ფრაზით:
განაახლეთ დაინტერესებული მხარეების თვალთვალის ჩანართი შემდეგი ქმედებების შესასრულებლად.
- წაშალეთ დაინტერესებული მხარეების ცხრილის ჩვენება და უბრალოდ დატოვეთ ფორმა.
- ინფორმაციის ლოკალურ საცავში შენახვის ნაცვლად, ის ახლა Supabase-ზე შეინახება. ცხრილის სახელია Stakeholders. გამოიყენეთ ანონიმური როლი.
- .env ფაილი უკვე შეიცავს SUPABASE_URL-ს და SUPABASE_ANON_KEY-ს.
- დარწმუნდით, რომ განაახლეთ კონტენტის უსაფრთხოების პოლიტიკა Supabase-ის საბოლოო წერტილების დასაშვებად.
- ანონიმური მომხმარებლებისთვის განკუთვნილი ჩასმა არ უნდა ეცადოს მონაცემების უკან წაკითხვას ჩასმის შემდეგ, რადგან ეს ვერ მოხერხდება, რადგან მათ მხოლოდ INSERT-ის ნებართვები აქვთ.
- Supabase-ში ჩანაწერის დამატების შემდეგ, გამოაგზავნეთ წარმატების შესახებ შეტყობინება.
4. გაუშვით და გამოსცადეთ აპლიკაცია
პაკეტების დასაყენებლად მიჰყევით Copilot-ის მიერ მოცემულ ინსტალაციის ინსტრუქციას.
- გაუშვით აპლიკაცია და სცადეთ ახალი დაინტერესებული მხარის დამატება გამოხმაურების მიწოდებით. თქვენ უნდა მიიღოთ დამადასტურებელი შეტყობინება, რომ წარმატებას მიაღწიეთ.
- გადადით თქვენს ცხრილის რედაქტორში Supabase-ზე და ნახეთ, განახლდა თუ არა ცხრილი ახალი ჩანაწერით. ახალი ჩანაწერის სანახავად შეიძლება დაგჭირდეთ ბრაუზერის განახლება.
- აპლიკაციის გამართულად მუშაობის უზრუნველსაყოფად, პრობლემების მოგვარება LLM-ის დახმარებით მოახდინეთ.
5. ადმინისტრატორის შესვლის დამატება
- სთხოვეთ Copilot-ს, დაამატოს ადმინისტრატორის სახელით შესვლის შესაძლებლობა, რათა შეძლოთ დაინტერესებული მხარის ყველა ჩანაწერის ნახვა.
ეს არის ნიმუშის მოთხოვნა:
- დაინტერესებული მხარეების თვალთვალის ეკრანზე დაამატეთ ღილაკი „ადმინისტრატორის შესვლა“.
- ელფოსტის/პაროლის ფორმის ჩვენება.
- მომხმარებლის ავტორიზაციისთვის გამოიყენეთ Supabase auth.signIn() ფუნქცია.
- თუ შესული ხართ, ეკრანზე, ფორმის ქვემოთ, გამოაჩინეთ დაინტერესებული მხარეების ცხრილი.
- ასევე, შესული მომხმარებლებისთვის გამოჩნდება გასვლის ღილაკი.
- თუ სისტემაში არ ხართ შესული, უბრალოდ აჩვენეთ ფორმა და არა ცხრილი.
- ხელახლა გაუშვით აპლიკაცია და შედით ადმინისტრატორის სახელით, Supabase-ში დაყენებული ელ. ფოსტის/პაროლის გამოყენებით. შესვლის შემდეგ, დაინტერესებული მხარეების ცხრილის ნახვა Stakeholder Tracker ჩანართში უნდა შეძლოთ.
- გადით სისტემიდან. ცხრილი არ უნდა გამოჩნდეს.
- აპლიკაციის გამართულად მუშაობის უზრუნველსაყოფად, პრობლემების მოგვარება LLM-ის დახმარებით მოახდინეთ.
6. დაამატეთ რედაქტირებისა და წაშლის შესაძლებლობები
- სთხოვეთ Copilot-ს, დაამატოს რედაქტირებისა და წაშლის შესაძლებლობები სისტემაში შესული ადმინისტრატორი მომხმარებლებისთვის.
ეს არის ნიმუშის მოთხოვნა:
მხოლოდ ადმინისტრატორი მომხმარებლებისთვის, დაამატეთ რედაქტირების და წაშლის ღილაკები დაინტერესებული მხარეების ცხრილის თითოეული რიგისთვის.
ეს ღილაკები უნდა მუშაობდეს Supabase ცხრილში ამ რიგების რედაქტირებისა და წაშლისთვის.
- ხელახლა გაუშვით აპლიკაცია. სცადეთ ჩანაწერის დამატება, რედაქტირება და წაშლა და შეამოწმეთ, რომ Supabase-ში ცხრილი სწორად განახლდება.
- გამოდით სისტემიდან და შეამოწმეთ, შეგიძლიათ თუ არა ჩანაწერის დამატება, მაგრამ არა მეტი.
- აპლიკაციის გამართულად მუშაობის უზრუნველსაყოფად, პრობლემების მოგვარება LLM-ის დახმარებით მოახდინეთ.
7. ტესტირება მრავალ მოწყობილობაზე
დაინტერესებული მხარეების მონაცემების უსაფრთხოებისა და დაცულობის გარდა, მათი ღრუბელში შენახვა ნიშნავს, რომ მონაცემები ხელმისაწვდომია თქვენი აპლიკაციის მომხმარებლებისთვის, სადაც არ უნდა იყვნენ ისინი. ამან შეიძლება გააჩინოს შესაძლებლობები, მაგალითად, დაინტერესებული მხარეების მიერ საკუთარი უკუკავშირის პირდაპირ დამატება და გუნდის რამდენიმე წევრის მიერ მონაცემებზე წვდომა მათი ტელეფონებიდან.
ეს არის ღრუბლოვანი საცავის ნამდვილი ძალა. მისი შესამოწმებლად, სანამ თქვენი აპლიკაცია ჯერ კიდევ შემუშავების პროცესშია Codespaces-ში, შეგიძლიათ გააკეთოთ შემდეგი.
- გახსენით თქვენი აპლიკაცია Codespaces-ში npm start-ის აკრეფით.
- ქვედა პანელში, ტერმინალის გვერდით, იპოვეთ პორტების ჩანართი.
- თქვენ უნდა ნახოთ თქვენი გაშვებული პორტი (მაგ. 3000).
- დააწკაპუნეთ მაუსის მარჯვენა ღილაკით პორტზე, გადადით Port Visibility-ზე და აირჩიეთ Public. ფანჯარაში Visibility შეიცვლება Public-ით.
- კვლავ დააწკაპუნეთ მაუსის მარჯვენა ღილაკით პორტზე და შემდეგ დააწკაპუნეთ ლოკალური მისამართის კოპირებაზე. ეს არის აპლიკაციის URL.
- URL ჩასვით ისეთ ადგილას, სადაც მასზე წვდომა თქვენი ტელეფონიდან იქნება შესაძლებელი. იქ უნდა ნახოთ თქვენი აპლიკაცია გაშვებული. სცადეთ ახალი დაინტერესებული მხარის დამატება, ადმინისტრატორის სახელით შესვლა და ა.შ.
- სათანადოდ ტესტირების შემდეგ, დარწმუნდით, რომ პორტის ხილვადობა კვლავ კერძოზეა დაყენებული ან უბრალოდ შეაჩერეთ აპლიკაცია. წინააღმდეგ შემთხვევაში, თქვენი აპლიკაცია ღია და დაუცველი იქნება.
8. გადაამოწმეთ, რომ ENV ფაილი იგნორირებულია
როგორც კი დარწმუნდებით, რომ თქვენი Stakeholder Tracker მუშაობს Supabase-ზე ჩანაწერების შესანახად, განახლებისა და წასაშლელად და ის მუშაობს ერთზე მეტ მოწყობილობაზე, დროა, დაასრულოთ და გააგრძელოთ მუშაობა.
მაგრამ პირველ რიგში, გახსენით თქვენი .gitignore ფაილი და დარწმუნდით, რომ ის შეიცავს .env ფაილს, რადგან, როგორც ადრე შეიტყვეთ, ეს ხელს უშლის თქვენი Supabase-ის ავტორიზაციის მონაცემების GitHub-ზე კონმიმენტაციას და მათ უსაფრთხოებას.
9. ცვლილებების Github-ზე გადატანა და გადატანა
- როგორც კი კმაყოფილი დარჩებით და დარწმუნდებით, რომ ყველაფერი მუშაობს, შეიტანეთ ცვლილებები Github-ში, ან კოდის სივრცეებში Source Control ფუნქციის გამოყენებით, ან ტერმინალის ფანჯარაში git ბრძანებების აკრეფით.
- გადადით GIThub-ზე და გააერთიანეთ pull request, შემდეგ კი წაშალეთ განშტოება.
ანარეკლი
თქვენ ადგილობრივად შენახული დაინტერესებული მხარეების გამოხმაურება ღრუბელში გადაიტანეთ, სადაც ის ახლა აპლიკაციის მომხმარებლებისთვის ხელმისაწვდომია. ღრუბლოვანი საცავი აპლიკაციების უმეტესობის საერთო ფუნქციაა და მნიშვნელოვანია იცოდეთ, თუ როგორ გამოიყენოთ იგი.
მიგრაცია
შესაძლებლობები
დაგეგმვა
ძირითადი ტერმინები
- ღრუბლოვანი ფაილების შენახვა : ფაილების (PDF, სურათები, დოკუმენტები) შენახვა დისტანციურ სერვერებზე, რომლებზეც წვდომა ინტერნეტით ნებისმიერი მოწყობილობიდან არის შესაძლებელი.
- ღრუბლოვანი მონაცემთა ბაზა : სტრუქტურირებული მონაცემების (რიგების და სვეტების) შენახვა დისტანციურ სერვერებზე
- Supabase: პლატფორმა, რომელიც უზრუნველყოფს შენახვის, მონაცემთა ბაზის და ავთენტიფიკაციის სერვისებს დიდი უფასო დონით, შექმნილია სტარტაპებისა და MVP-ებისთვის.
- მდგრადობა: მონაცემები, რომლებიც შენახული რჩება ბრაუზერის დახურვის, მოწყობილობის გადატვირთვის ან მოწყობილობების გადართვის შემდეგაც კი.
CRUD ოპერაციები: მონაცემთა შენახვის ოთხი ძირითადი ფუნქცია:
- შექმნა - ახალი ჩანაწერების დამატება (INSERT)
- წაკითხვა – მონაცემების მოძიება და ჩვენება (SELECT)
- განახლება – არსებული ჩანაწერების შეცვლა (განახლება)
- წაშლა – ჩანაწერების წაშლა (DELETE)
- SQL (სტრუქტურირებული შეკითხვის ენა): პროგრამირების ენა, რომელიც გამოიყენება რელაციური მონაცემთა ბაზების სამართავად და შეკითხვების დასასვლელად.
- რიგის დონის უსაფრთხოება (RLS) – უსაფრთხოების ფუნქცია, რომელიც აკონტროლებს, რომელ მომხმარებლებს შეუძლიათ მონაცემთა ბაზის ცხრილში რომელ რიგებზე წვდომა.
დამატებითი რესურსები
- Supabase Javascript დოკუმენტაცია – ოფიციალური სახელმძღვანელო Supabase-ის ინტეგრაცია Javascript-ის გამოყენებით
- W3Schools SQL-ის სახელმძღვანელო
