آنچه در این مقاله میخوانید
12 پروژه متن باز فول استک جاوا اسکریپت که نباید از دست بدهید!
۲ مرداد ۱۴۰۴
اگر تنها با آموزشهایی نظیر ویدیوهای آموزشی سروکار داشتهاید و چند اپلیکیشن ساده و To Do ساختهاید، این امکان وجود دارد که در تصورتان این باشد که دیگر نیازی به یادگیری نخواهم داشت و در این زمینه مانند پادشاهی بر تخت نشستهام و بالاترین جایگاه برای من است. اما به این فکر کردهاید که اگر برای اولین بار به سراغ یک پروژه واقعی متنباز بروید. چه میشود؟!
احتمالا بعد از روبهرو شدن با ساختار پیچیده و سخت پیامهای کامیتی که اطلاعاتی را در رابطه با آن متوجه نمیشوید روبهرو خواهید شد. اما راهحل این موضوع در چیست؟ خبر خوب این است که بدون نگرانی می توانید در این مطلب با پروژههای واقعی آشنا شوید و تجربههای زیادی را به دست بیاورید.
در ادامه این مقاله از وبلاگ لیارا، با 12 پروژه واقعی و متن باز فول استک جاوا اسکریپت آشنا خواهید شد که نه تنها به یادگیری عمیق شما کمک میکنند بلکه میتوانند شما را با توسعه نرمافزار حرفهای آشنا کند.
بدون هیچگونه پیکربندی پیچیده، هاست NodeJS را در چند ثانیه راهاندازی کنید!
✅ عملکرد بالا ✅ بدون نیاز به پیکربندی ✅ راهاندازی سریع
خرید هاست ابری NodeJS
آنچه در ادامه خواهید خواند:
- ۱۲ پروژه متن باز فول استک با جاوا اسکریپت
- جمع بندی

۱۲ پروژه متن باز فول استک با جاوا اسکریپت
در ادامه هر پروژه همراه با مثالها و نکاتی معرفی شدهاند تا بتواند درک بهتری را از هر کدام داشته باشید و خود را ارتقا دهید.
FreeCodeCamp اولین تجربه واقعی متن باز
آیا میدانستید که FreeCodeCamp تنها یک منبع آموزشی نیست، بلکه یک پروژه موفق و بزرگی است که هزاران نفر آن را پشتیبانی می کنند. این پلتفرم یک محیط واقعی را برای اینکه بتوانید در پروژه های بزرگ منبع باز مشارکت کنید به شما میدهد. در واقع مانند یک تیر و دو نشان زدن است، هم شما را با دنیای برنامه نویسی آشنا میکند و هم میتوانید کدهای واقعی بنویسید و از اشکالات دیگران درس بگیرید و آنها را بررسی و رفع کنید. از تمامی این مزیتها بگذریم مزیت بزرگی که دارد این است که تجربه فعالیت کار تیمی را به شما ارزانی می دهد که این موضوع می توانند در آینده کمک بزرگی به شما باشد.
حال که با آن نسبتا آشنا شدهاید به طبع این سوال در ذهنتان پدیدار می شود که در این پلتفرم قرار است که چه چیزی را یاد بگیریم؟!
- نحوه مشارکت در پروژه های عمومی بر روی Github: یاد خواهید گرفت تا چگونه بتوانید پروژه ها را fork کنید، تغییرات را به شکل pull request ارسال کنید و به فیدبک های تیم اصلی پاسخ های مناسب را بدهید.
- استفاده از Issue های ساده و مناسب برای تازه کاران: بسیاری از پروژه ها از جمله FreeCodeCamp، برچسب هایی مانند good first issue یا help wanted دارند که فرصتهایی عالی برای مشارکت اولیه هستند.
- شجاعت و مهارت های لازم در دیباگ کردن کدهای دیگران: حتی خواندن کدهای پروژه های بزرگ و درک ساختار آن، میتواند یک تمرین بزرگ و جدی برای رشد ذهن مهندسی شما باشد. بنابراین این فرصت طلایی را از دست ندهید.
مثال کاربردی برای درک بهتر FreeCodeCamp
فرض کنید که تازه با گیت هاب آشنا شده اید و علاقه مند هستید تا اولین مشارکت متن باز خود را تجربه کنید. به مخزن FreeCodeCamp در GitHub بروید و وارد بخش Issues شوید. ممکن است که باگ کوچکی را ببینید که مانند اشتباه املایی در یک پیام خطا، رنگ نامناسب یک دکمه یا even یک لینک خراب را در مستندات مشاهده کرده اید. اما همین عمل ساده بهترین نقطه شروع برای شما خواهد بود. در این مرحله مشکلات را حل خواهید کرد و pull request میفرستید و پس از بررسی، اولین commit شما به یک پروژهی بینالمللی ثبت میشود. همین تجربه می تواند جرقه بزرگی برای ورود حرفه ای شما به این فضا باشد.
آموزش ذخیره دادهها در Local Storage با JavaScript
ذخیره دادهها در Local Storage
ساخت داشبورد و پنل های مدیریتی در چند دقیقه Appsmith
Appsmith یک ابزار منبع باز برای ساخت سریع ابزارهای داخلی، مانند پنل مدیریت، داشبورد و فرم های تحت وب است آن هم بدون نیاز به هیچ گونه طراحی. برای این کار کافی است تا API خود را داشته باشید و به Appsmith متصل کنید، مابقی فرآیند ها با Drag & Drop انجام خواهد شد. بنابراین شما با خیال راحت میتوانید بر روی فعالیتهای دیگر خود متمرکز باشید و ساخت جداول و فرمها را به این برنامه بسپارید.
حال این سوال در میان میآید که چه چیزهایی را یاد خواهید گرفت؟ بیایید عمیق تر به این موضوع نگاهی بیاندازیم.
- اتصال به API های خارجی: یاد خواهید گرفت تا بتوانید یک REST API را به ابزار خود متصل کنید و دادهها را به راحتی fetch کنید و از همه مهمتر ویجتها را نمایش دهید.
- ساخت فرمها و اعتبار سنجی سمت کلاینت: بدون استفاده از کتابخانه هایی مانند React Hook Form، میتوانید فرمها داینامیک را طراحی کرده و ورودی ها را اعتبارسنجی کنید.
- نوشتن منطقهای تعاملی بدون نیاز به فریم ورک فرانتاند: با استفاده از اسکریتهای بسیار ساده مانند JavaScript، میتوانید بین ویجت هال تعامل های مورد نیاز را بسازید، رویدادها را کنترل کنید.
مثال کاربردی برای درک بهتر Appsmith
بیایید با مثال این بخش را بهتر درک کنیم. فرض کنید یک API ساده در اختیار دارید که اطلاعات کاربران را از یک دیتابیس دریافت میکند و ارائه میدهد، به عنوان مثال آدرس https://yourdomain.com/api/users. را در نظر بگیرید.
مراحل به صورت زیر خواهد بود:
- ابتدا باید وارد بخش Datasource شوید و URL را به عنوان منبع داده تعریف کنید.
- بعد از آن باید یک جدول آماده از ویجتها را انتخاب کنید و آن را به همین API وصل کنید.
- در عرض چند دقیقه، لیست کاربران بر روی پنل شما نمایش خواهد داده شد.
نکته جالب: اگر بخواهید بر روی هر سطر دکمه ای را بگذارید برای حذف و ویرایش، کافی است تا یک دکمه را اضافه کنید و یک تابع کوچک JS بنویسید که به API مربوطه متصل شود.
Outline ساخت یک ویرایشگر متنی مشابه به Notion
Outline یک پروژه متن باز و حرفهای برای مستند سازی تیمی است که به نوعی میتوان آن را جایگزین Notion در نظر گرفت. اگر قصد دارید بدانید تا یک ابزار مستند سازی با پشتیبانی از ویرایشگر ریچ تکست، اشتراک گذاری لحظه ای و معماری مقیاس پذیر چگونه کار میکند، این پروژه مناسب خواهد بود.
نکته جالب: Outline از React برای رابط کاربری، Koa.js برای معماری سمت سرور، و Slate.js برای ساخت ویرایشگر متنی قدرتمند استفاده میکند. شما میتوانید از این ترکیب ها برای ساخت ابزارهای تعاملی و مقیاس پذیر استفاده کنید.
در این قسمت چه چیزی را یاد خواهید گرفت؟
- ساخت و مدیریت ویرایشگر های متنی پیچیده: با استفاده از Slate.js، میتوانید یاد بگیرید تا چگونه یک ویرایشگر با قابلیت های فرمت بندی متن، لیست، تو در تو کردن عناصر، Undo/Redo و درج محتوای تعاملی را به راحتی بسازید.
- رندر بلادرنگ محتوای طولانی و سنگین: Outline برای رندر بلادرنگ یا همان (real-time rendering) ساخته شده است و به این معنی است که شما چگونه میتوانید محتوای چند کاربره را با سرعت و بدون افت عملکرد مدیریت کنید.
- آشنایی با معماری بک اند با Koa: این پروژه ساختار ماژولار مانندی را دارد و برخلاف فریم ورکهای مانند Express، از Koa استفاده میکند که سینتکس ساده تری را به کاربر خود میدهد.
ترفندهایی برای نوشتن کدهای کوتاه در JavaScript
کدهای کوتاه در JavaScript
مثال کاربردی برای درک بهتر Outline
فرض کنید که قصد دارید تا برای تیم خود یک فضای مستند سازی داخلی مانند Notion را بسازید که امکان نوشتن، ویرایش، کامنت گذاری و جستجوی محتوا را داشته باشد.
با بررسی ساختار Outline میتوانید:
- مشاهده کنید که ویرایشگر چگونه Slate.js و قابلیت هایی مانند Drag & Drop یا تودرتو کردن را دارد.
- یاد بگیرید که چگونه از Koa برای مدیریت API ها و احراز هویت استفاده میشود.
- تعامل React با ویرایشگر و سرور را درک کنید.
نکته مهم و حائز اهمیت: این پروژه تنها برای یادگیری نخواهد بود. اگر توسعه دهنده باشید و به دنبال ساخت ابزارهای تعاملی با قابلیت های نگهداری بالا هستید، بایستی بهصورت دقیق بررسی های لازم را انجام دهید.
Hasura ساخت سریع GraphQL بدون نیاز به توسعه بک اند
Hasura ابزاری بسیار قدرتمند برای توسعه دهنگانی است که قصد دارند بدون نوشتن هیچ گونه المانی به سرعت یک API مبتنی بر GraphQL را داشته باشند. برای این عمل کافی است که یک دیتابیس Postgres داشته باشید. نکته جالب این است که Hasura به صورت کاملا خودکار کوئری ها، mutation ها و subscription های لازم را تولید میکند.
حال اگر این سوال پیش بیاید که چه چیزی را یاد خواهیم گرفت ادامه را از دست ندهید!
- آشنایی با مفاهیم پایه GraphQL و ساختار کوئریها
- نحوه تعریف و اعمال کنترل دسترسی دقیق (Authorization) بر روی API
- استفاده از Subscription برای دریافت داده های بلادرنگ (Real-time)

مثال کاربردی برای درک بهتر Hasura
فرض کنید که جدولی با نام products
را در پایگاه داده خود در اختیار دارید. به محض اینکه اتصال انجام شد، میتوانید کوئری هایی مانند getAllProducts
یا insertProduct
را بدون نوشتن حتی یک خط کد بکاند، مستقیما اجرا کنید.
برای این کار تنها کافی است که مجوزهای دسترسی مانند خواندن برای کاربران ناشناس، یا امکان افزودن محصول برای ادمین را از طریق پنل گرافیکی Hasura تنظیم کنید.
نکته قابل توجه و مهم: Hasura انتخاب مناسبی براس ساخت سریع داشبوردهای مدیریتی، اپلیکیشن های موبایل ریل تایم، یا MVP هایی هستند که به GraphQL نیاز دارند اما زمان یا منابع کافی برای پیاده سازی دستی بک اند وجود ندارد.
Strapi سیستم مدیریت محتوا برای توسعه دهندگان
وردپرس بیشتر بر روی ساخت صفحات آماده تمرکز دارد، اما Strapi یک (Headless CMS) است، یعنی تنها داده را به شما میدهد و آزادی کامل را در طراحی رابط کاربری را در اختیار توسعه دهنده قرار میدهد. بنابراین به این معنی است که دیگر شما مجبور به آن نخواهید بود تا با قالب های آماده یا محدودیت های فرانت اند وردپرس چالشی را داشته باشید. شما ساختار داده را به صورتی طراحی خواهید کرد تا Strapi API تولید کند و با هر فریم ورکی که نیاز داشته اید از آن استفاده کنید.
در Strapi چه یاد خواهید گرفت؟!
- تعریف مدلهای داده دقیقا بر اساس نیاز پروژه به عنوان مثال (ترکیب پست، نویسنده، دسته بندی، برچسب)
- استفاده از middleware های دلخواه و مورد نیاز برای اعتبارسنجی، احراز هویت یا تغییر API
- طراحی پنل مدیریت برای تیم محتوا بدون آنکه کدنویسی فرانت لازم باشد.
- گسترش پروژه ها با پلاگین های سفارشی یا تعامل با دیتابیس های موجود.
آموزش تبدیل یک آرایه به گروهی از آرایهها در JavaScript
گروهی از آرایهها در JavaScript
مثال کاربردی برای درک بهتر Strapi
فرض قصد دارید تا یک وبلاگ حرفه ای بسازید. در Strapi میتوانید تنها با چند حرکت ساده، مدل های زیر را تعریف کنید.
- Post: یا فیلدهایی مانند عنوان، متن، تصویر شاخص، زمان انتشار
- Author: شامل نام، بیوگرافی، آواتار
- Category: برای دستهبندی محتوا
بعد از تعریف مدلها، Strapi خودش به صورت خودکار، API های لازم را برای خواندن، نوشتن، آپدیت و حذف محتوا را تولید میکند. شما تنها عملی که انجام میدهید این است که در Next.js بسازید و با استفاده از fetch یا Axios به این API متصل شوید.
نکته مهم و حائز: اگر پروژه شما قابلیت بزرگ تر شدن را داشت، Strapi این امکان را به شما میدهد تا نقش های کاربری را تعریف کنید، سطح دسترسی تعیین کنید و حتی از Webhook برای ارسال اعلان در زمان ساخت محتوای جدید از آن استفاده کنید.
Cal.com ساخت یک سیستم رزرو وقت حرفهای مانند Calendly
اگر از Calendly استفاده کرده باشید میدانید تا روز کردن وقت و هماهنگی جلسات با این ابزار چه مقدار راحت خواهد بود. حال تصور کنید همین تجربه حرفه ای را با یک پروزه متن باز و قابل توسعه خود آن را پیاده سازی کنید. Cal.com دقیقا همین امکان را فراهم خواهد کرد، یک پلتفرم منبع باز برای مدیریت قرار ملاقات ها، با قابلیت هایی مانند اتصال به Google Calendar، انتخاب تایم، قالب های زمانی و حتی افزودن مراحل تایید دستی یا پرداخت را به شما میدهد.
در این پروژه چه المانی را یاد خواهید گرفت؟! بیایید نگاه دقیق تری را داشته باشیم.
- احراز هویت با OAuth (مانند ورود با اکانت گوگل یا اپل)
- همگام سازی دو طرفه با تقویم ها
- طراحی رابط کاربری برای انتخاب زمان، دید بازههای خالی و رزور قرار ملاقات
- ساخت صفحه پروفایل حرفه ای برای هر کاربر با امکان اشتراک گذاری لینک رزرو
- کار با Webhook برای اطلاع رسانی در زمان رزرو جدید یا تغییر زمان جلسه
مثال کاربردی برای درک بهتر Cal.com
فرض کنید فریلنسر هستید که قصد دارید برای مشتری ها از بین زمان های آزاد تقویم یک بازهای که شما آن را انتخاب کردهاید جلسه را رزور کنند. با استفاده از پروژه Cal.com میتوانید:
- یک فرم رزور طراحی کنید که به اکانت گوگل کاربر متصل باشد.
- زمان های در دسترس را از طریق API گوگل دریافت کنید.
- جلسه جدیدی را به صورت خودکار در Google Calendar ثبت کنید.
- در صورت نیاز، تایید دستی برای هر جلسه فعال کنید یا حتی فاکتور را بفرستید.
نکته تکمیلی: اگر به دنبال این هستید تا رزور وقت را در سرویس SaaS خود ادغام کنید، یا برای تیم خود یک سیستم رزرو داخلی راه بیندازید، کدهای Cal.com میتوانند بهترین نقطه برای شروع باشند، هم از نظر معماری و هم از نظر تجربه کاربری.
عملکردهای متفاوت this در زبان JavaScript
عملکردهای this در JavaScript
Novu ساخت سیستم نوتیفیکیشن چند کاناله برای اپلیکیشن ها
تجربه کاربری تنها برای رابط کاربری ختم نمیشود، اطلاع رسانی به موقع و حرفه ای به کاربر، بخش جدا ناپذیر از هر اپلیکیشنی خواهد بود. Novu یک پلتفرم متن باز و جدید برای مدیریت نوتیفیکشن های چند کاناله است، به این معنی است که شما میتوانید با یک سیستم مرکزی، پیام ها را همزمان از طریق ایمیل، SMS، نوتیفیکشن داخل اپ، پیام تلگرام یا Slack و حتی push notification ارسال کنید، بدون آنکه لازم باشد برای هر کانال کد جداگانه ای را بنویسید.
چه یاد خواهید گرفت؟!
- طراحی ساختار نوتیفیکشن بر اساس رخداد های اپلیکیشن (event-driven)
- اتصال به سرویس های پیام رسانی مانند Slack , Twilio , SendGrid
- تعیین اولویت، زمان بندی و شرط های ارسال برای نوتیفیکشن ها
- ساخت پنل مدیریت نوتیفیکشن برای کاربران (خوانده شده/ نشده، حذف، ذخیره سازی)
- ارسال نوتیفیکشن های دسته جمعی یا شخصی سازی شده برای هر کاربر
مثال کاربردی برای درک بهتر Novu
فرض کنید در حال توسعه دادن یک فروشگاه آنلاین هستید و زمانی که کاربر سفارشی را ثبت میکند، شما نیاز دارید تا:
- یک ایمیل تایید برای مشتری ارسال شود.
- یک پیامک حاوی شماره پیگیری ارسال شود.
- در پنل کاربری هم یک نوتیفیکشن نمایش داده بشود.
- مدیر سیستم هم در Slack مطلع شود که سفارش ثبت شده است.
با Novu تنها کافی است که یک event به اسم order_placed
تعریف کنید، و باقی کارها را با تنظیمات داخل Novu انجام دهید. بدون نیاز به هیچ گونه مدیریت جداگانه ای در کانال های پیامرسانی.
نکته ویژه: Novu برای تیم های کوچک و استارتاپی مفید است، به این دلیل که به جای صرف کردن وقت برای ساخت سیستم نوتیفیکشن های داخلی، میتوانید از یک ابزار متن باز و ماژولار استفاده کنید که به راحتی با فریم ورک هایی مانند NestJS , Express , Next.js و Laravel هم ادغام شود.
Supabase نسخه متن باز Firebase با قدرت PostgreSQL
اگر به دنبال یک راهکار سریع و حرفه ای برای ساخت بک اند هستید، بدون دردسر راه اندازی سرور، نوشتن API یا پیاده سازی auth Supabase یکی از بهترین گزینهها است. این پلتفرم متن باز تمام چیزی که برای ساخت یک اپلیکیشن نیاز دارید را به شما میدهد:
- دیتابیس
- احراز هویت
- ذخیره سازی
- قابلیت های ریل تایم real-time
حال این سوال پیش میآید که چه چیزی را یاد خواهید گرفت؟
- ساخت API خودکار: بهمحض ایجاد جدول، Supabase بهصورت خودکار endpoint های REST و GraphQL تولید خواهد کرد.
- احراز هویت مدرن: با magic link و OAuth (گوگل، گیتهاب) بدون نیاز به تنظیمات سخت، ثبتنام و ورود را در چند دقیقه راهاندازی خواهید کرد.
- مدیریت امنیت سطح ردیف (Row-Level Security): میتونید دقیقا مشخص کنید چه کاربری به کدام رکوردها دسترسی داشته باشد.
- قابلیت real-time بدون کدنویسی اضافی: هر زمان دادهای تغییر کرد، میتوانید اپلیکیشن را آپدیت کنید.
مقایسه زبانهای برنامهنویسی TypeScript و JavaScript
مقایسه TypeScript و JavaScript
مثال کاربردی برای درک بهتر Supabase
فرض کنید اپلیکیشنی را برای مدیریت تسک های شخصی خود ساخته اید. مراحل آن به صورت زیر خواهد بود:
- یک جدول
todos
با فیلدهایی مانندtitle
,completed
وuser_id
خواهید ساخت. - با magic link احراز هویت خود را انجام خواهید داد.
- با استفاده از row-level security تعریف خواهید کرد که هر کاربر به تسک های خود دسترسی داشته باشد.
- در فرانت اند، تنها با چند خط کد جاوا، لیست وظایف را از دیتابیس بخوانید.
Medusa.js پروژه متن باز فروشگاه ساز هدلس برای توسعه دهندگان
برخلاف Shopify که قالب و قابلیت های آن محدود به یک چهارچوب خاص هستند، Medusa یک پلتفرم متن باز و هدلس برای توسعه فروشگاههای اینترنتی است که آزادی کامل را در طراحی، تجربه کاربری، معماری سیستم و منطق تجاری را فراهم میکند. این ابزار مهم به توسعهدهندگان اجازه میدهد تا بتوانند فروشگاه های جدید، مقیاس پذیر و سفارشی را بسازند.
حال در این پلتفرم چه یاد خواهید گرفت؟
استفاده کردن از قابلیت های:
- مدیریت سبد خرید.
- ارسال و حسابداری
- سفارشها
- پرداخت
- موجودی انبار
- توسعه رابط کاربری دلخواه
- افزودن پلاگینهای دلخواه برای درگاههای پرداخت
مثال کاربردی برای درک بهتر Medusa.js
فرض کنید قصد راه اندازی یک فروشگاه دیجیتال را برای محصولات آموزشی خود دارید و میخواهید که تجربه ای اختصاصی برای کاربران خود طراحی کنید. با Medusa.js میتوانید کاملا سفارشی این فرآیند را انجام دهید و مطابق با نیاز های خود آن را تنظیم کنید.
Nhost ارائه بک اند بهعنوان سرویس (BaaS) مبتنی بر GraphQL
Nhost ترکیبی از قابلیت های Supabase , Hasura و Auth0 است که در بالا به آن اشاره کردهایم. اما نکته ای که وجود دارد Nhost آن ها را در یک پلتفرم یکپارچه ارائه میدهد. این سرویس تنها به توسعه دهندگان خود اجازه میدهد تا بدون نیاز به پیاده سازی زیر ساخت ها یا نوشتن هرگونه کد، تنها با چند کلیک ساده و بدون دردسر یک API GraphQL قدرتمند، سیستم احراز هویت و فضای ذخیرهسازی فایل ایجاد کنند.
حال چه مهارت هایی را Nhost یاد خواهیم گرفت؟
- طراحی و مدلسازی پایگاه داده بهصورت گرافیکی
- راهاندازی احراز هویت با روشهای مختلف
- استفاده از Action ها و Trigger ها برای منطق تجاری سفارشی
- توسعه اپلیکیشنهای بدون سرور با عملکرد بلادرنگ
مثال کاربردی برای درک بهتر Nhost
بهعنوان مثال، اگر بخواهید اپلیکیشنی را طراحی کنید که پس از آپلود یک فایل PDF، آدرس دانلود را به کاربر نمایش دهد و هم زمان یک ایمیل اطلاع رسانی ارسال شود، این فرآیند میتواند بدون نوشتن حتی یک خط کد بک اند و تنها با تنظیمات گرافیکی در Nhost آن را پیاده کرد.
چرا JavaScript زبان برنامهنویسی آینده است؟
JavaScript زبان برنامهنویسی آینده
Appwrite متنباز ساخت بک اند برای اپلیکیشن های وب و موبایل
Appwrite بستری برای ساخت بک اند با رابط کاربری گرافیکی، امنیت بالا و قابلیت توسعه با زبان های مختلف برنامه نویسی است. Appwrite به صورت متن باز ارائه شده است و نیاز های اصلی بسیاری را بدون مدیریت زیر ساخت انجام میدهد.
مهارت هایی که در Appwrite فرا خواهید گرفت چیست؟
- پیادهسازی انواع روشهای احراز هویت (رمز عبور، OAuth، لینک جادویی)
- ذخیرهسازی فایل و تنظیم دقیق سطح دسترسی کاربران
- ساخت و اجرای تابعهای سمت سرور با استفاده از زبانهایی مانند JavaScript , Python و PHP
مثال کاربردی برای درک بهتر Appwrite
بهعنوان مثال ساخت یک اپلیکیشن برای ثبت نام کاربران، ارسال ایمیل تایید، بارگذاری تصویر پروفایل و مدیریت کاربران را در نظر بگیرید، تمامی این مراحل را میتوان بدون نیاز به نوشتن هیچ کدی تنها با تنظیمات موجود در Appwrite انجام داد.
Pocketbase دیتابیس سبک و بدون وابستگی
Pocketbase به عنوان یک ابزار بسیار ساده و سبک برای ساخت اپلیکیشن های کوچک و MVP ها شناخته میشود. ناگفته نماند که به صورت محلی اجرا می شود و دارای رابط کاربری گرافیکی است و امکاناتی مانند احراز هویت، ذخیره فایل و یا ارائه API را به صورت پیش فرض بدون آنکه نیازی به نصب دیتابیس یا سرویس های خارجی داشته باشید به شما میدهد.
در Pocketbase یاد خواهید گرفت تا:
- دیتابیس محلی یا ابری بدون نیاز به PostgreSQL یا Firebase بسازید.
- از API های REST یا GraphQL برای تعامل با دادهها استفاده کنید.
- سطح دسترسی کاربران و تنظیم سیاست های امنیتی را تعریف کنید.
مثال کاربردی برای درک بهتر Pocketbase
بیاید با یک مثال ساده اما کاربردی بهتر درک کنیم، فرض کنید قصد دارید تا یک اپلیکیشن کاملا ساده مانند لیست کار ها یا همان To Do List را بسازید که امکان ورود کاربران، ثبت و ظایف و تغییر وضعیت آن ها را داشته باشد. با Pocketbase میتوانید در کمتر از یک ساعت، یک اپلیکیشن کامل با مدیریت و احراز هویت را بسازید.
اضافه کردن مقادیر به آرایه در زبان JavaScript
اضافه کردن مقادیر به آرایه در JavaScript
جمع بندی
اگر به دنبال یادگیری واقعی توسعه فول استک با جاوا اسکریپت هستید، تنها به دیدن آموزش بسنده نکنید. مشارکت در پروژه های متن باز مانند Medusa , Nhost , Appwrite یا Pocketbase این فرصت را به شما میدهد تا با ساختار حرفهای پروژه ها و یا ابزارهای به روز آشنا شوید. پروژه هایی که در بالا اشاره کردهایم نیز میتوانند در این مسیر به شما کمک کنند.