آموزش نکست جی‌اس ۱۵ و فایربیس - آخرین آپدیت

دانلود Next.js 15 & Firebase

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

آموزش ساخت اپلیکیشن املاک با Next.js 15 و Firebase

مهارت‌های توسعه وب خود را ارتقا دهید! در این دوره، Fire Homes، یک اپلیکیشن املاک کاملاً کاربردی برای یک آژانس املاک فرضی را خواهیم ساخت. با ترکیب قدرت Next.js 15 و Firebase، تجربه واقعی در ساخت اپلیکیشن‌های مدرن و مقیاس‌پذیر با ابزارهای پیشرفته کسب خواهید کرد.

این دوره تمام آنچه را که برای ساخت یک اپلیکیشن حرفه‌ای نیاز دارید، از جمله احراز هویت، فضای ذخیره‌سازی ابری و یک پایگاه داده مبتنی بر Firestore را پوشش می‌دهد.

آنچه خواهید ساخت:

یک اپلیکیشن املاک کامل با ویژگی‌های زیر:

  • نقش‌های کاربری: پشتیبانی از کاربران ادمین و غیر ادمین، با عملکردهای خاص نقش.
  • احراز هویت: ورود به سیستم یا ثبت نام با استفاده از ایمیل/رمز عبور یا احراز هویت گوگل.
  • پنل مدیریت: مدیریت لیست املاک (اضافه کردن، حذف و به روز رسانی) از طریق یک رابط کاربری بصری.
  • فضای ذخیره‌سازی ابری: بارگذاری و مدیریت تصاویر املاک با Firebase Cloud Storage.
  • پایگاه داده Firestore: ذخیره و بازیابی داده‌های املاک.
  • جستجوی ملک: به کاربران کمک کنید تا خانه رویایی خود را با قابلیت جستجو پیدا کنند.
  • مورد علاقه‌ها: به کاربران غیر ادمین اجازه دهید املاک مورد علاقه خود را ذخیره و مدیریت کنند.

آنچه خواهید آموخت:

  1. Next.js 15: ساخت اپلیکیشن‌های وب مدرن با جدیدترین App Router.
  2. TypeScript: نوشتن کد تمیز، قابل نگهداری و مقاوم در برابر خطا.
  3. Zod برای اعتبارسنجی: اطمینان از یکپارچگی داده‌ها با ابزارهای اعتبارسنجی قدرتمند.
  4. Next.js Server Actions: ساده‌سازی عملکرد سمت سرور با ویژگی‌های پیشرفته.
  5. ادغام Firebase:
    • Firestore: استفاده از Firestore برای ذخیره و بازیابی داده‌ها.
    • احراز هویت: ورود ایمن به سیستم کاربران با استفاده از Firebase Auth.
    • فضای ذخیره‌سازی ابری: مدیریت آپلود و سازماندهی تصاویر به صورت یکپارچه.
  6. کنترل دسترسی مبتنی بر نقش: پیاده‌سازی مدیریت کاربری قوی با عملکرد متناسب برای ادمین‌ها و کاربران عادی.
  7. عملیات CRUD: ایجاد، خواندن، به روز رسانی و حذف لیست املاک در Firestore.
  8. ویژگی‌های متمرکز بر کاربر: افزودن جستجو و مورد علاقه‌ها برای یک تجربه کاربری جذاب.

این دوره برای چه کسانی مناسب است؟

  • توسعه دهندگان مشتاق: یاد بگیرید که اولین اپلیکیشن فول استک خود را با Next.js و Firebase بسازید.
  • توسعه دهندگان وب متوسط: دانش عمیق‌تری از توسعه اپلیکیشن مقیاس‌پذیر کسب کنید.
  • تغییر دهندگان شغل: یک پروژه نمونه کار بسازید که مهارت‌های توسعه وب مدرن را نشان دهد.

چرا در این دوره ثبت نام کنید؟

این دوره فقط در مورد کدنویسی نیست - بلکه در مورد درک فرآیند فکری پشت ساخت اپلیکیشن‌های مقیاس‌پذیر و کارآمد است. در پایان دوره، یک اپلیکیشن آماده تولید و اعتماد به نفس برای مقابله با پروژه‌های خود خواهید داشت.

ابزارهایی که استفاده خواهید کرد:

  • Next.js 15 (App Router)
  • TypeScript
  • Zod
  • پایگاه داده Firestore
  • Firebase Authentication & Cloud Storage

پیش نیازها:

  • تمایل به یادگیری و تجربه: نگرش فعال و اشتیاق به کشف فناوری‌های جدید، مانند Firebase، TypeScript و مدیریت پایگاه داده، به دانشجویان کمک می‌کند تا بیشترین بهره را از این دوره ببرند.
  • آشنایی اولیه با React مورد نیاز است، زیرا این دوره بر اساس مفاهیم React ساخته شده و آنها را با Next JS ادغام می‌کند.
  • آشنایی با Node و NPM برای مدیریت وابستگی‌ها و اجرای محیط‌های توسعه توصیه می‌شود.

سرفصل ها و درس ها

معرفی و تنظیمات Introduction & Setup

  • مقدمه Introduction

  • مهم! لطفا قبل از شروع دوره این را بخوانید! (مخزن GitHub و غیره) Important! Please read this before you start the course! (GitHub repo etc)

  • امتیازها و نظرات Udemy Udemy ratings and reviews

  • تفاوت این تنظیمات با برنامه های سنتی React + Firebase How this setup differs from traditional React + Firebase apps

  • مروری بر استک + ابزارهای مفید برای این دوره Overview of stack + helpful tools for this course

  • راه اندازی پروژه Next JS Set up Next JS project

  • راه اندازی پروژه Firebase Set up Firebase project

  • اتصال Next JS به Firebase Connect Next JS to Firebase

ساخت قابلیت ورود با گوگل Build the Login with Google functionality

  • اضافه کردن نوار ناوبری با لینک های احراز هویت Add the navbar with auth links

  • نصب shadcn ui و اضافه کردن ورود با گوگل Install shadcn ui and add login with Google

  • ایجاد زمینه احراز هویت و نمایش کاربر وارد شده Create auth context and display logged in user

  • اضافه کردن قابلیت خروج Add logout functionality

  • بهبود استایل نوار ناوبری Improve navbar styling

  • بهبود استایل صفحه ورود Improve login page styling

  • اضافه کردن منوی کشویی کاربر فعلی به نوار ناوبری Add the current user dropdown to the navbar

ساخت قابلیت مدیریت و داشبورد Build the admin functionality and dashboard

  • اضافه کردن نقش مدیر به یک کاربر و ذخیره توکن های احراز هویت در کوکی ها Add the admin role to a user and save auth tokens in cookies

  • نمایش مشروط آیتم های منوی پروفایل کاربر Conditionally render user profile menu items

  • اضافه کردن صفحه داشبورد مدیر + محافظت از مسیر با میان افزار Next JS Add the admin dashboard page + route protection with Next JS middleware

  • ساخت صفحه اصلی داشبورد مدیر Build the admin dashboard main page

  • ایجاد صفحه ملک جدید Create the New Property page

  • ایجاد طرحواره فرم ملک جدید Create the new property form schema

  • ایجاد کامپوننت PropertyForm و شروع ساخت رابط کاربری فرم Create PropertyForm component and start building form UI

  • اتمام رندر کردن فیلدهای PropertyForm Finish rendering the PropertyForm fields

  • ایجاد اکشن سرور saveNewProperty و ذخیره داده ها در firestore Create the saveNewProperty server action and save data to firestore

  • بهبود رابط کاربری هنگام ارسال فرم ملک جدید Improve the UI when submitting the new property form

  • پرس و جو برای داده های املاک Query for properties data

  • رندر کردن لیست املاک در یک جدول Render the properties list in a table

  • محاسبه تعداد کل صفحات برای یک پرس و جو firestore Calculate the total pages for a firestore query

  • رندر کردن دکمه های صفحه بندی در زیر جدول املاک Render the pagination buttons under the properties table

  • ایجاد صفحه ویرایش ملک Create the edit property page

  • ایجاد فرم ویرایش ملک Create the edit property form

  • ایجاد اکشن سرور updateProperty Create the updateProperty server action

  • اضافه کردن محافظت از مسیر برای تمام مسیرهای admin-dashboard و صفحات احراز هویت Add route protection for all admin-dashboard routes and auth pages

  • بهبود استایل جدول املاک Improve the styling of the properties table

ساخت قابلیت آپلود تصاویر Build the image uploads functionality

  • ایجاد کامپوننت آپلود کننده تصویر Create the image uploader component

  • ذخیره تصاویر انتخاب شده در وضعیت فرم Store selected images in the form state

  • رندر کردن لیست تصاویر Render the images list

  • پیاده سازی مرتب سازی مجدد و حذف تصاویر Implement reorder and delete images

  • پیاده سازی آپلود تصاویر به firebase storage برای املاک جدید Implement upload images to firebase storage for new properties

  • بارگذاری تصاویر آپلود شده موجود در فرم ویرایش ملک Load existing uploaded images into the edit property form

  • پیاده سازی آپلود + حذف تصاویر هنگام به روز رسانی یک ملک Implement upload + delete images when updating a property

ساخت صفحات پیش نمایش ملک Build the property preview pages

  • ایجاد صفحه ملک و رندر کردن توضیحات به عنوان markdown Create the property page and render the description as markdown

  • رندر کردن جزئیات ملک Render the property details

  • رندر کردن carousel تصاویر ملک و دکمه بازگشت Render the property images carousel and back button

ساخت صفحه و قابلیت جستجوی ملک Build the property search page and functionality

  • ایجاد صفحه جستجوی ملک و فیلترهای جستجو Create the property search page and search filters

  • اتصال فیلترهای جستجو به URL و ایجاد ایندکس های firestore Hook up the search filters to the URL and create firestore indexes

  • رندر کردن لیست املاک فیلتر شده Render the filtered property list

  • اضافه کردن دکمه های صفحه بندی برای جستجوی ملک Add the pagination buttons for property search

ساخت قابلیت ورود و ثبت نام با ایمیل + رمز عبور Build the login and register with email + password functionality

  • ایجاد طرحواره فرم ثبت نام Create the register form schema

  • رندر کردن رابط کاربری فرم ثبت نام Render the register form UI

  • ایجاد اکشن سرور ثبت نام کاربر Create the register user server action

  • ساخت فرم ورود با ایمیل و رمز عبور Build the login with email and password form

  • بهبود اعتبارسنجی و خطاها برای ورود و ثبت نام Improve validation and errors for login and register

  • به روز رسانی میان افزار برای رسیدگی به انقضای توکن های احراز هویت Update the middleware to cater for expiring auth tokens

ساخت قابلیت علاقه مندی ها Build the favourites functionality

  • اضافه کردن صفحه my-favourites و دکمه تغییر علاقه مندی Add the my-favourites page and toggle favourite button

  • پیاده سازی قابلیت اضافه کردن به علاقه مندی ها Implement the add to favourites functionality

  • پیاده سازی قابلیت حذف از علاقه مندی ها Implement the remove from favourites functionality

  • پیاده سازی مسیرهای موازی و رهگیری برای مودال ورود Implement parallel and intercepting routes for login modal

  • رندر کردن فرم ورود در مودال ورود Render the login form in the login modal

  • پرس و جو برای لیست علاقه مندی ها Query for the list of favourites

  • رندر کردن لیست علاقه مندی ها در صفحه my-favourites Render the list of favourites in the my-favourites page

  • پیاده سازی صفحه بندی جدول علاقه مندی ها و حذف علاقه مندی Implement the favourites table pagination and remove favourite

ساخت بخش حساب کاربری من Build the my account section

  • اضافه کردن صفحه حساب و رندر کردن جزئیات کاربر Add the account page and render user details

  • پیاده سازی فرم تغییر رمز عبور Implement change password form

  • پیاده سازی قابلیت حذف حساب کاربری Implement delete account functionality

  • حذف علاقه مندی های کاربر هنگام حذف حساب Delete user favourites on account deletion

  • پیاده سازی قابلیت فراموشی رمز عبور Implement forgot password functionality

اضافات Extras

  • فعال کردن حافظه پنهان برای صفحات ملک Enable caching for property pages

  • اضافه کردن حالت های loading به برنامه Add loading states to app

  • ساخت صفحه فرود (اختیاری) Build the landing page (optional)

  • پیاده سازی قابلیت حذف ملک Implement delete property functionality

  • استقرار در vercel Deploy to vercel

  • ویژه! BONUS!

نمایش نظرات

آموزش نکست جی‌اس ۱۵ و فایربیس
جزییات دوره
13.5 hours
73
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
828
4.8 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Tom Phillips Tom Phillips

بیش از یک دهه در توسعه وب جلویی

WebDevEducation (Tom Phillips) WebDevEducation (Tom Phillips)

ارزش خود را به عنوان یک توسعه دهنده وب جلویی افزایش دهید!