جستجو برای:
  • خانه
  • دوره و کتاب
  • مقالات
    • خانواده جاوا اسکریپت
      • مقالات جاوا اسکریپت
      • مقالات ری اکت و نکست
      • هوش مصنوعی
    • خانواده فرانت
      • مقالات سی اس اس
      • مقالات اچ تی ام ال
    • محیط کار
      • سوالات استخدامی جاوا اسکریپت
      • سوالات استخدامی ری اکت
      • اصطلاحات محیط کار فرانت اند
    • مجله پرنیان
      • تصاویر دوره ها
      • نظرات دانشجویان قدیم
  • سوالات متداول
  • تماس با ما
  • خانواده پرنیان
    • چت خانه
    • دستیار هوش مصنوعی(رایگان!)
    • تایید مدارک
    • پیام یا انتقاد (ناشناس)
    • تعیین سطح زبان انگلیسی
    • پخش لایو رادیوسام
 
  • 09921632445
  • radioarsam[at]gmail.com
  • فروشگاه محصولات
  • بلاگ
  • تماس با ما
  • درباره پارسا قربانیان، موسس مدرسه پرنیان
پارسا قربانیان |گروه آموزشی پرنیان | آموزش حرفه ای طراحی سایت
  • خانه
  • دوره و کتاب
  • مقالات
    • خانواده جاوا اسکریپت
      • مقالات جاوا اسکریپت
      • مقالات ری اکت و نکست
      • هوش مصنوعی
    • خانواده فرانت
      • مقالات سی اس اس
      • مقالات اچ تی ام ال
    • محیط کار
      • سوالات استخدامی جاوا اسکریپت
      • سوالات استخدامی ری اکت
      • اصطلاحات محیط کار فرانت اند
    • مجله پرنیان
      • تصاویر دوره ها
      • نظرات دانشجویان قدیم
  • سوالات متداول
  • تماس با ما
  • خانواده پرنیان
    • چت خانه
    • دستیار هوش مصنوعی(رایگان!)
    • تایید مدارک
    • پیام یا انتقاد (ناشناس)
    • تعیین سطح زبان انگلیسی
    • پخش لایو رادیوسام
0

ورود و ثبت نام

بلاگ پرنیان

پارسا قربانیان |گروه آموزشی پرنیان | آموزش حرفه ای طراحی سایتبلاگمقالاتمقالات جاوا اسکریپتآموزش و معرفی کامل سایت Firebase

آموزش و معرفی کامل سایت Firebase

9 سپتامبر 2025
ارسال شده توسط مدیریت
بلاگ پرنیان ، مقالات ، مقالات جاوا اسکریپت
126 بازدید
آموزش و معرفی کامل سایت Firebase

Firebase محصولی از گوگل است که مجموعه‌ای از سرویس‌های ابری برای توسعه‌دهندگان وب و موبایل ارائه می‌دهد. (آموزش و معرفی کامل سایت Firebase) این سرویس به شما کمک می‌کند تا بدون نیاز به مدیریت پیچیده سرور، پایگاه داده، احراز هویت کاربران، نوتیفیکیشن، میزبانی فایل‌ها و بسیاری امکانات دیگر را در پروژه‌های خود پیاده‌سازی کنید.
اینجاست که نقش جاوا اسکریپت بسیار پر رنگ جلوه گری میکند! یکی از مهم‌ترین ویژگی‌های Firebase، یکپارچگی سریع و آسان آن با اپلیکیشن‌ها و همچنین مقیاس‌پذیری بالاست. بنابراین چه شما یک اپلیکیشن کوچک دانشجویی بسازید و چه یک پروژه بزرگ تجاری، Firebase می‌تواند نیازهای شما را پوشش دهد.

فایر بیس امکانات و فعالیت های زیادی را پوشش میدهد، اما ما در این مقاله فقط به معرفی این موارد میپردازیم:

  • کار با Firestore (CRUD: ایجاد، خواندن، به‌روزرسانی، حذف داده‌ها).
  • آموزش کار با Authentication (ورود/ثبت‌نام با ایمیل، گوگل، و…)
  • راه‌اندازی Hosting برای وب‌سایت‌ها
  • ارسال Push Notification با Firebase Cloud Messaging

آموزش کامل CRUD در Firebase Firestore (ایجاد، خواندن، ویرایش و حذف داده‌ها)

یکی از پرکاربردترین بخش‌های Firebase، پایگاه داده Cloud Firestore است. این سرویس به شما امکان می‌دهد تا داده‌های اپلیکیشن یا وب‌سایت خود را در محیطی امن و مقیاس‌پذیر ذخیره کنید.
در این قسمت، به صورت گام‌به‌گام نحوه انجام عملیات CRUD (Create, Read, Update, Delete) در Firestore را بررسی می‌کنیم. CRUD به معنی چهار عمل اصلی پایگاه داده است که در همه پروژه‌ها و در وب مدرن در سمت جاوا اسکریپت استفاده می‌شود.

مرحله ۱: ساخت پروژه و فعال‌سازی Firestore

  1. وارد Firebase Console شوید. (https://console.firebase.google.com)
  2. یک پروژه جدید ایجاد کنید.
  3. در منوی سمت چپ به بخش Firestore Database بروید و یک دیتابیس جدید بسازید.
    • برای شروع پیشنهاد می‌شود Test Mode را انتخاب کنید تا نیازی به نوشتن Rule نداشته باشید.
  4. به بخش Project settings → General بروید و تو قسمت Your apps، گزینه </> (Web App) رو بزنید. یه نام بدید و کد پیکربندی را کپی کنید.

کار تمام است! یک پوشه بسازید و در آن کامند زیر را بزنید:

npm install firebase
آموزش کار با firebase
آموزش کار با firebase

سپس یک فایل index.html ساخته و کد زیر را داخل آن کپی کنید.

توضیح عملکرد CRUD در Firestore

حذف (Delete):
با متد deleteDoc می‌توانید یک سند را به‌طور کامل از دیتابیس پاک کنید.

ایجاد (Create):
با استفاده از متد addDoc می‌توانید کاربر جدیدی در مجموعه (collection) users اضافه کنید.

خواندن (Read):
با متد getDocs می‌توانید تمام داده‌های ذخیره‌شده را بازیابی کنید و آن‌ها را در لیست HTML نمایش دهید.

به‌روزرسانی (Update):
با متد updateDoc یک سند خاص را تغییر می‌دهید. در اینجا کاربر می‌تواند نام و سن جدید را وارد کند.

داخل کد سایر توضیحات آورده شده است و تمام ساختار CRUD را پشتیبانی میکند!

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Firestore CRUD Example</title>
</head>

<body>
    <h1>Firestore CRUD Example</h1>

    <input id="name" placeholder="Name">
    <input id="age" type="number" placeholder="Age">
    <button onclick="addUser()">Add User</button>
    <button onclick="getUsers()">Get Users</button>
    <hr>

    <h3>Users:</h3>
    <ul id="usersList"></ul>

    <!-- Firebase SDK -->
    <script type="module">
        import { initializeApp } from "https://www.gstatic.com/firebasejs/10.14.1/firebase-app.js";
        import { getFirestore, collection, addDoc, getDocs, updateDoc, deleteDoc, doc }
            from "https://www.gstatic.com/firebasejs/10.14.1/firebase-firestore.js";

        // ✅ کانفیگ درست شده
        const firebaseConfig = {
            apiKey: "AIzaSyAEcH54KP-4JdkbOE86D5eOX6z26SDj7iI",
            authDomain: "pornian-a9b11.firebaseapp.com",
            projectId: "parnian-a9b11",
            storageBucket: "pornian-a9b11.appspot.com",
            messagingSenderId: "135114654620",
            appId: "1:135114654620:web:b03d64e734e76763807e59",
            measurementId: "G-B63QZB1CZP"
        };

        const app = initializeApp(firebaseConfig);
        const db = getFirestore(app);

        const usersList = document.getElementById("usersList");

        // 🔹 CREATE
        window.addUser = async function () {
            const name = document.getElementById("name").value;
            const age = document.getElementById("age").value;

            await addDoc(collection(db, "users"), {
                name: name,
                age: parseInt(age)
            });

            alert("User added!");
            getUsers();
        }

        // 🔹 READ
        window.getUsers = async function () {
            usersList.innerHTML = "";
            const querySnapshot = await getDocs(collection(db, "users"));
            querySnapshot.forEach((docSnap) => {
                const data = docSnap.data();
                const li = document.createElement("li");
                li.innerHTML = `${data.name} (${data.age} years) 
                    <button onclick="updateUser('${docSnap.id}')">Update</button> 
                    <button onclick="deleteUser('${docSnap.id}')">Delete</button>`;
                usersList.appendChild(li);
            });
        }

        // 🔹 UPDATE
        window.updateUser = async function (id) {
            const newName = prompt("Enter new name:");
            const newAge = prompt("Enter new age:");
            const userRef = doc(db, "users", id);

            await updateDoc(userRef, {
                name: newName,
                age: parseInt(newAge)
            });

            alert("User updated!");
            getUsers();
        }

        // 🔹 DELETE
        window.deleteUser = async function (id) {
            await deleteDoc(doc(db, "users", id));
            alert("User deleted!");
            getUsers();
        }

        // Load users on page load
        getUsers();
    </script>
</body>

</html>

آیا میدانید مدرسه فرانت اند پرنیان، دوره فرانت اند از صفر تا صد را بصورت حرفه ای برگزار میکند؟

آموزش Firebase Authentication (ورود/ثبت‌نام با ایمیل و گوگل)

یک سرویس احراز هویت از Google است که به توسعه‌دهندگان امکان می‌دهد تا سیستم‌های ورود و ثبت‌نام امن و قدرتمند را به برنامه‌های موبایل و وب اضافه کنند. این سرویس با ارائه امکاناتی مانند ثبت‌نام و ورود با ایمیل و رمز عبور، ورود با شبکه‌های اجتماعی (مانند Google، Facebook، Twitter، GitHub)، و مدیریت دوره‌های ورود کاربران، فرایند احراز هویت را برای توسعه‌دهندگان ساده می‌کند و آن‌ها را قادر می‌سازد تا بر روی توسعه اصلی برنامه خود تمرکز کنند.

چرا Authentication در Firebase؟

  • مدیریت کامل کاربران (ثبت‌نام، ورود، خروج).
  • پشتیبانی از ایمیل/رمز عبور، گوگل، فیسبوک، گیت‌هاب، شماره موبایل و….
  • امنیت بالا + توکن JWT برای ارتباط با دیتابیس.
  • رایگان در پلن Spark (کافی برای پروژه‌های کوچک و متوسط).

اما روش کار:

وارد Firebase Console شوید.

پروژه‌ای که ساختید (مثلاً parnian-a9b11) را باز کنید.

از منوی سمت چپ بروید به: Build > Authentication.

روی Get Started بزنید.

در بخش Sign-in method → روش‌هایی که می‌خواهید فعال کنید را روشن کنید:

  • Email/Password
  • Google
 آموزش Firebase Authentication (ورود/ثبت‌نام با ایمیل و گوگل)

نکته مهم قبل از استفاده از کد زیر باید به مسیر زیر رفته و دامین خود را ثبت کنید:

Firebase console -> Authentication -> Settings -> Authorized domains tab

حال میتوانید با استفاده از کد زیر و قرار دادن پیش نیاز ها و اطلاعات سرور خود در قسمت firebaseConfig هر کاربری که با گوگل لاگین کرد، اطلاعاتش را در قالب یک آبجکت دریافت کنید.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Google Login Firebase</title>
</head>

<body>
    <h1>Login with Google</h1>
    <button id="googleLogin">Login with Google</button>

    <h3>User Info:</h3>
    <pre id="userInfo">Not logged in</pre>

    <script type="module">
        import { initializeApp } from "https://www.gstatic.com/firebasejs/10.14.1/firebase-app.js";
        import { getAuth, signInWithPopup, GoogleAuthProvider, onAuthStateChanged }
            from "https://www.gstatic.com/firebasejs/10.14.1/firebase-auth.js";

        // 🔹 Firebase Config (مال خودت رو بذار)
        const firebaseConfig = {
            apiKey: "AIzaSyAEcH54KP-4JdkbOE86D5eOX6z26SDj7iI",
            authDomain: "parnian-a9b11.firebaseapp.com",
            projectId: "pornian-a9b11",
            storageBucket: "pornian-a9b11.appspot.com",
            messagingSenderId: "135114654620",
            appId: "1:135114654620:web:b03d64e734e76763807e59",
            measurementId: "G-B63QZB1CZP"
        };

        const app = initializeApp(firebaseConfig);
        const auth = getAuth(app);
        const provider = new GoogleAuthProvider();

        const userInfo = document.getElementById("userInfo");
        const btn = document.getElementById("googleLogin");

        // دکمه ورود با گوگل
        btn.addEventListener("click", async () => {
            try {
                const result = await signInWithPopup(auth, provider);
                // اینجا یک آبجکت کاربر داریم
                const user = result.user;
                userInfo.textContent = JSON.stringify({
                    uid: user.uid,
                    name: user.displayName,
                    email: user.email,
                    photoURL: user.photoURL
                }, null, 2);
            } catch (error) {
                alert(error.message);
            }
        });

        // مانیتور کردن تغییرات لاگین
        onAuthStateChanged(auth, (user) => {
            if (!user) {
                userInfo.textContent = "Not logged in";
            }
        });
    </script>
</body>

</html>

آیا میدانید مدرسه فرانت اند پرنیان، دوره جاوا اسکریپت و ری اکت نکست از صفر تا صد را بصورت حرفه ای برگزار میکند؟

آموزش کامل هاستینگ در Firebase (Firebase Hosting)

وقتی صحبت از میزبانی وب می‌شود، خیلی‌ها به هاست‌های اشتراکی، VPS یا سرور اختصاصی فکر می‌کنند. اما گوگل با معرفی Firebase Hosting یک سرویس میزبانی ابری و کاملاً رایگان (در پلن اولیه) ارائه کرده است که مخصوص توسعه‌دهندگان وب و موبایل طراحی شده است.

با Firebase Hosting شما می‌توانید وب‌سایت‌های استاتیک، SPA (مثل React و Vue)، وب‌اپلیکیشن‌های پیشرفته و حتی فایل‌های API خود را روی زیرساخت امن و سریع گوگل اجرا کنید.

در این بخش، به‌طور کامل و مرحله به مرحله، به بررسی هاستینگ فایربیس، امکانات آن و روش راه‌اندازی یک پروژه خواهیم پرداخت اما قبل از توضیح کامل بخش، خبر بد اینکه برای کاربران داخل ایران این سرویس در دسترس نیست.

اگر از وی پی ان معتبر استفاده کردید و باز هم مراحل اجرا نشدند، بخاطر لوکیشن اکانت گوگل شماست و باید یک اکانت با لوکیشن غیر ایران درست کنید.

آموزش کامل هاستینگ در Firebase (Firebase Hosting)

دلایلی که باعث می‌شود توسعه‌دهندگان از Firebase Hosting استفاده کنند:

  • رایگان بودن (Spark Plan)
  • دامنه رایگان yourapp.web.app و yourapp.firebaseapp.com
  • اتصال دامنه سفارشی با SSL رایگان
  • CDN جهانی برای سرعت بارگذاری بالا
  • HTTPS و امنیت پیش‌فرض
  • مقیاس‌پذیری خودکار (Auto Scaling) بدون نیاز به VPS یا سرور اختصاصی

مراحل راه‌اندازی هاستینگ در Firebase

1. ساخت پروژه در Firebase

  1. وارد کنسول فایربیس شوید. (https://console.firebase.google.com)
  2. روی Add Project کلیک کنید.
  3. نام پروژه خود را وارد کنید (مثلاً parnian_project).
  4. گزینه‌های مربوط به Google Analytics را در صورت نیاز تنظیم کنید.
  5. پروژه ساخته می‌شود.

برای کار با Hosting نیاز به Firebase CLI دارید.

npm install -g firebase-tools

بعد از نصب، لاگین کنید.

firebase login

برای مقداردهی اولیه پروژه (Initialize Project) به پوشه پروژه خود بروید و دستور زیر را اجرا کنید:

firebase init hosting

بعد از آماده شدن پروژه، تنها با یک دستور همه چیز آنلاین می‌شود.

firebase deploy

پس از اتمام، یک لینک مشابه زیر دریافت می‌کنید:

https://my-website.web.app

امیدواریم از این مقاله آموزش و معرفی کامل سایت Firebase نهایت استفاده را برده باشید و آن را با دوستانتان به اشتراک بگذارید. تیم تولید محتوای مدرسه اینترنتی پرنیان این مقاله را تهیه کرده است.

اشتراک گذاری:
درباره مدیریت

شما در حال مطالعه یکی از مقالات آموزشی وبلاگ مدرسه فرانت اند پرنیان هستید. اگر برایتان مفید بود آن را با دوستانتان به اشتراک بگذارید. من پارسا قربانیان ، مدرس با سابقه برنامه نویسی و فرانت اند و اینجا مدرسه فرانت اند پرنیان، میخواهیم در یک معامله برد برد، با هم به آرزوهایمان برسیم.

نوشته های بیشتر از مدیریت
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
در یوتوب
ما را دنبال کنید!
Created by potrace 1.14, written by Peter Selinger 2001-2017
در آپارات
ما را دنبال کنید!

مطالب زیر را حتما مطالعه کنید

تفاوت HTMLCollection و NodeList در جاوا اسکریپت
تفاوت HTMLCollection و NodeList در جاوا اسکریپت
State Normalization در فرانت‌اند چیست؟
State Normalization در فرانت‌اند چیست؟
حفظ روحیه برنامه نویسان در شرایط جنگی
حفظ روحیه برنامه نویسان در شرایط جنگی
خبر فوری
اطلاعیه مهم درباره شروع کلاس ها
پارسا قربانیان | parsa ghorbanian
پایان دوره تهمتن
معرفی کتاب الگوریتم برنامه نویسی، زیر باران شهر
معرفی کتاب الگوریتم برنامه نویسی، زیر باران شهر
قدیمی تر حافظه Stack و Heap در جاوا اسکریپت
جدیدتر پایان دوره بیست و چهارم

1 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • مهسا سالاری گفت:
    23 سپتامبر 2025 در 2:44 ق.ظ

    سلام
    خیلی محتوای خوبی بود.
    همینطور ادامه بدین لطفا من عاشق سایت شمام همیشه به سایت شما سر میزنم.

    پاسخ

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
نوشته‌های تازه
  • تفاوت HTMLCollection و NodeList در جاوا اسکریپت
  • State Normalization در فرانت‌اند چیست؟
  • حفظ روحیه برنامه نویسان در شرایط جنگی
  • اطلاعیه مهم درباره شروع کلاس ها
  • پایان دوره تهمتن
دسته‌ها
دوره ها:

کلاس های درحال ثبت نام فرانت اند: 

  • دوره فرانت اند عصر از 23 تیرماه

دوره فرانت اند پارسا قربانیان

مدرسه فرانت اند پرنیان

گروه آموزشی پرنیان از سال 92 تاسیس شده و تاکنون ده ها دوره طراحی وب ، CMS ، سئو و بوت کمپ فرانت اند به صورت حضوری و غیر حضوری برگزار کرده است. ما در پرنیان جدیدترین و کاربردی ترین مباحث طراحی و توسعه وب ، سئو و دیجیتال مارکتینگ رو آموزش داده و راه ورود شما عزیزان به بازار کار را هموار کرده ایم.

فهرست سفارشی
  • بلاگ
  • تماس با ما
  • حساب کاربری من
  • درباره پارسا قربانیان، موسس مدرسه پرنیان
  • سبد خرید
  • فروشگاه

لوگوی مدرسه پرنیان

تمام حقوق برای مدرسه فرانت اند پرنیان محفوظ است. سیاست حفظ حریم شخصی

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت