Lập trình ứng dụng nhắn tin Real-Time bằng ReactJS, Firebase (2021)

Поделиться
HTML-код
  • Опубликовано: 2 окт 2024
  • 👉 Tìm hiểu khoá học React Pro: academy.holete...
    Lập trình ứng dụng nhắn tin Real-Time bằng ReactJS, Firebase (2021)
    Trong video này chúng ta sẽ được học cách để xây dựng UI bằng ReactJS và Ant Design. Chúng ta sẽ được học cách để sử dụng Context API để
    quản lý state mà không cần sử dụng tới Redux. Cùng với đó, chúng ta cũng được học cách sử dụng một số tính năng hữu ích của
    Firebase như Authentication và Firestore.
    Live Demo: chatapp.holete...
    👉 Tính năng
    Đăng nhập bằng Google/Facebook
    Quản lý các phòng chat
    Thêm thành viên vào phòng chat
    Hiển thị danh sách thành viên trong phòng chat
    Nhắn tin
    👉 Kiến thức trong video
    Context API
    React Hooks
    Ant Design
    Styled Components
    Firebase Authentication
    Firebase Firestore
    👉 Link tham khảo:
    ES6: • Học ES6 JavaScript cho...
    React Hooks Series: • React Hooks
    ReactJS Cơ bản 30 phút: • Học React JS cơ bản tr...
    Flexbox CSS: • Flexbox CSS trong 15 p...
    Firebase: firebase.googl...
    Ant Design: ant.design/doc...
    Styled Component: styled-compone...
    Source code: github.com/hol...
    💻 Thông số PC & Gears của mình (Affiliate Links):
    Máy ảnh Canon EOS M50 + Kit 15-45mm - shorten.asia/b... (TIKI)
    Microphones Elgato Microphone Wave 3 - shorten.asia/j... (TIKI)
    Micro Rode Videomic Goshorten.asia/w... (TIKI)
    Màn hình Dell S2421HN 23.8Inch IPS - shorten.asia/7... (TIKI)
    Màn hình MSI OPTIX G27C4 27 VA 165Hz - shorten.asia/w... (TIKI)
    Tai Nghe Gaming SteelSeries Arctis 7 DTS.X 7.1 - shorten.asia/E... (TIKI)
    Chuột SteelSeries Rival 310 - shorten.asia/A... (TIKI)
    Ổ cứng HDD Western Digital BLUE 6TB - shorten.asia/Q... (TIKI)
    CPU Intel Core i5-10400 - shorten.asia/y... (TIKI)
    Ram ADATA DDR4 XPG GAMMIX D10 8GB 3200MHz - shorten.asia/2... (TIKI)
    Mainboard ASRock B460M - shorten.asia/G... (TIKI)
    📢 Liên hệ với mình tại:
    Facebook: / ​
    Instagram: / holetex
    Github: github.com/hol...
    Facebook cá nhân: / minhtung09
    Email: holetex@outlook.com
    #holetex #reactjs #frontend

Комментарии • 336

  • @holetex
    @holetex  3 года назад +33

    #1 Phần install bị che mất các bạn có thể copy dòng lệnh này
    npm install --save antd @ant-design/icons date-fns firebase lodash react-router-dom styled-components
    #2 Mình thấy nhiều bạn bị lỗi tương tự như này khi đăng nhập bằng facebook từ localhost
    "Facebook đã phát hiện chat-app không sử dụng kết nối bảo mật để truyền thông tin.
    Chỉ khi nào chat-app cập nhật cài đặt bảo mật thì bạn mới có thể đăng nhập vào ứng dụng này qua Facebook."
    Nguyên nhân: Do localhost không có ssl nên Facebook cảnh báo là kết nối không bảo mật
    Cách khắc phục: Các bạn thêm ssl cho localhost theo hướng dẫn ở đây:
    B1. Cài đặt mkcert tool
    Tham khảo link mkcert (github.com/FiloSottile/mkcert) để cài đặt cho từng hệ điều hành
    Trên Windows, sử dụng Chocolatey (chocolatey.org/)
    choco install mkcert
    B2. Thiết lập mkcert trên máy tính của bạn (Tạo một CA)
    mkcert -install
    B3. Vào thư mục gốc của dự án, tạo thư mục .cert nếu chưa có
    mkdir -p .cert
    B4. Tạo một certificate (chạy từ thư mục root của dự án)
    mkcert -key-file ./.cert/key.pem -cert-file ./.cert/cert.pem "localhost"
    B5. Cập nhật lại start script trong package.json thành
    
"start": "set HTTPS=true&&set SSL_CRT_FILE=./.cert/cert.pem SSL_KEY_FILE=./.cert/key.pem&&react-scripts start"
    B6. Chạy lệnh npm run start để mở localhost.
    Chúc các bạn học tốt!

    • @KienNguyen-sg1nf
      @KienNguyen-sg1nf 3 года назад +1

      Dạ em làm theo anh thêm localhost vào miền ứng dụng nhưng mỗi lần refresh là nó lại mất và chỗ miền ứng dụng lại về rỗng ak. Với cái của em nó chỉ có Phát triển với chính thức không có đang phát triển giống của anh ạ :((

    • @sonvu1956
      @sonvu1956 3 года назад

      cũng bị lỗi "Facebook đã phát hiện chat-app không sử dụng kết nối bảo mật để truyền thông tin. ạ, có ai fix dc chưa mn

    • @codingpiano4596
      @codingpiano4596 3 года назад

      Ko dc anh ơii, em thử rồi

    • @nhatquang6716
      @nhatquang6716 3 года назад

      dạ không lưu được anh, bắt nhập thêm URL chính sách quyền riêng tư và URL Xóa dữ liệu người dùng, vẫn chưa fix được nơi anh.

    • @quangngo6939
      @quangngo6939 3 года назад +1

      @Lập Trần Văn Bạn để localhost chạy https là được. Nó đang yêu cầu phải https :D

  • @ThunderboltPath
    @ThunderboltPath 2 года назад +19

    2 mins in, mình đã like và sub. Khá bất ngờ vì có kênh dev tiếng Việt chất lượng như vầy. App đẹp, hướng dẫn rõ ràng, dễ nghe, nhịp độ vừa phải. Mình cũng là dev và cũng từng nung nấu ý định dạy học RUclips, nhưng đến setup ghi hình và làm code tut thôi cũng là cả 1 vấn đề. Người chỉ xem thì không cảm nhận được hết công sức quay, dựng, edit để ra được 1 tut như này. Bạn chọn React để dạy là quá chuẩn nhu cầu thị trường rồi. Chúc bạn duy trì được phong độ nhé!

    • @holetex
      @holetex  2 года назад +1

      Cảm ơn bạn nhiều

    • @thanhtuan9823
      @thanhtuan9823 9 месяцев назад

      bạn nào cho mình xin dòng lệnh install ở terminal với ạ

  • @komaiptit5792
    @komaiptit5792 Год назад +6

    cho anh em nào đang dùng router v6 thì
    thay useHistory= useNavigate ;
    thay history.push("/")= navigate("/");
    thay switch =Routes

    • @angngocnguyen8678
      @angngocnguyen8678 Год назад

      Bạn có code bản firebase v9 ko cho mình xin source với

  • @thesinged196
    @thesinged196 3 года назад +2

    ./src/firebase/config.js
    Attempted import error: 'firebase/app' does not contain a default export (imported as 'firebase').
    buồn quá mn người giúp tôi với .tôi làm đến đoạn 13p!!! hu hu

  • @angthanhnhatlinh9685
    @angthanhnhatlinh9685 2 года назад +7

    Update cho mấy bạn nếu firebase lên bảng 9. import firebase from "firebase/compat/app";
    import "firebase/compat/auth";
    import "firebase/compat/firestore";
    import "firebase/compat/analytics";

    • @ucnamphamnguyen1526
      @ucnamphamnguyen1526 2 года назад

      Mình sửa như thế thì UI không hiển thị nữa

    • @tmp-musicconnectsus9769
      @tmp-musicconnectsus9769 Год назад

      cảm ơn bạn

    • @aylmerbarrett8672
      @aylmerbarrett8672 Год назад

      @Phuc Ngo Tan bạn update phiên bản node xuống như video là chạy được nhé

    • @thegioicaycanhtrangtri
      @thegioicaycanhtrangtri Год назад

      @phucngotan9839 import firebase from 'firebase/compat/app';
      import 'firebase/compat/analytics';
      import 'firebase/compat/auth';
      import 'firebase/compat/firestore';

  • @yugioh-trochoituoitho2947
    @yugioh-trochoituoitho2947 2 года назад +3

    3:43 Chú có thể cho cháu cái phần mà chú viết trong terminal được ko ạ? Vì cháu ko nhìn thấy cái chỗ góc bên phải (cháu ko nhìn thấy bởi vì camera của chú che đi rồi ạ)! Mong chú rep cháu

    • @holetex
      @holetex  2 года назад +2

      đây cháu nhé
      npm install --save antd @ant-design/icons date-fns firebase lodash react-router-dom styled-components

    • @yugioh-trochoituoitho2947
      @yugioh-trochoituoitho2947 2 года назад +2

      @@holetex Dạ con cảm ơn chú nhiều lắm ạ!

  • @VuongNguyen-io6ml
    @VuongNguyen-io6ml 2 года назад +1

    Khi số lượng tin nhắn lên hàng nghìn thì phải sử dụng tính năng phân trang onScroll Infinite và không thể để onSnapshot tải về hàng nghìn dữ liệu cùng lúc được mà phải tải từng khúc một, bạn có thể chia sẻ thêm về tính năng này không?? Xin cám ơn

  • @nhatminhtran2270
    @nhatminhtran2270 4 месяца назад

    Cho em hỏi là hiện tại FB có vẻ block kiểu đăng nhập như vậy rồi và hình như bắt phải xác thực doanh nghiệp gì đó thì giờ mình phải làm sao ạ.

  • @dang_minh_tri
    @dang_minh_tri 2 года назад +2

    Chú cho cháu hỏi là làm sao để chạy được cái file như chú thế ạ? Mong chú rep cháu

  • @trannghia9965
    @trannghia9965 3 года назад +2

    Em thấy anh nên chia nhỏ thành nhiều các phần, mỗi phần là 1 video thì hay hơn. Em thấy xem 1 video hướng dẫn 2h ntn hơi nản ạ , nhiều thứ phải học quá @@

  • @MiNguyễnThị-t2e
    @MiNguyễnThị-t2e 3 месяца назад

    mọi người ơi cho em hỏi là cái đoạn install mấy cái thư viện ( 3:45 ) bị che mất viết như nào với ạ

  • @thanhhaiinh7465
    @thanhhaiinh7465 2 года назад +1

    @10:57 cần thêm từ khóa new vào trước `firebase.auth.FacebookAuthProvider();` , nếu không sẽ gặp lỗi: signInWithPopup failed: First argument "authProvider" must be a valid Auth provider

  • @phumainguyenviet247
    @phumainguyenviet247 4 месяца назад

    e làm tới chỗ login fb mà nó is loading lâu quss hong nhận dc luôn :"""

  • @BìnhAnTrần-y8m
    @BìnhAnTrần-y8m Месяц назад

    lúc em deploy thì auth facebook nó không hoạt động anh ạ

  • @aylmerbarrett8672
    @aylmerbarrett8672 Год назад +1

    1:56:50 em code y như anh nhưng nó không hiện tên người dùng khác ra ạ :((

  • @Bune268
    @Bune268 11 месяцев назад

    Dạ em chào anh, em mới là beginner thôi nên ở 3p30s em thấy anh có add thư viện thì phải nhưng không xem được anh gõ gì ý ạ, nếu anh không phiền mong anh chỉ lại giúp em với ạ, em cảm ơn anh rất nhiều.

  • @xuanchinh97
    @xuanchinh97 2 года назад

    mới có 1 năm mà mấy libary firebase, react-router-dom,... update rồi thay hàng loạt function. chạy theo thư viện, framework cũng căng thật

  • @TrầnDuyKhánh-d8k
    @TrầnDuyKhánh-d8k Месяц назад

    lúc em lấy danh sách room từ firebase sau khi người dùng đăng nhập để render ra thì bị lỗi
    ERROR [2024-08-28T07:03:25.520Z] @firebase/firestore: Firestore (9.9.3): Uncaught Error in snapshot listener: {"code":"failed-precondition","name":"FirebaseError"}
    và nó không hiển thị room, sau khi reload lại thì nó mới hiển thị danh sách room😭anh cứu em với

  • @chuotmedia
    @chuotmedia 2 года назад +1

    1:36:25
    {selectedRoom.name}

    {selectedRoom.description}
    trong console.log ở devtool báo lỗi "Cannot read properties of undefined (reading 'name')" ai biết fix lỗi này ko ạ.

    • @lightd1404
      @lightd1404 Год назад

      ban them thử dấu ? trước dấu . của name xem dc k á => selectedRoom?.name

  • @Movies-rl3ti
    @Movies-rl3ti 3 месяца назад

    3:28 em thấy terminal bị che hết code cài đặt thư viện. Như vậy người mới họ học sẽ rất khó biết viết cái gì để cài đặt a nhé

  • @huynhngocat1989
    @huynhngocat1989 2 года назад +1

    ./src/firebase/Config.js
    Attempted import error: 'firebase/app' does not contain a default export (imported as 'firebase'). anh ơi lỗi này sao export ra không đc ạ , giúp em với :((

    • @hoaio9459
      @hoaio9459 2 года назад

      mình search thì do là firebase hiện tại update lên v9. cách fix là:
      1. yarn remove firebase
      2. yarn add firebase@8.10.0
      3. yarn cache clean
      bạn thử xem đc k

  • @linggmanucian4901
    @linggmanucian4901 2 года назад

    Lỗi này là soa vậy mn:
    config.js:18 Uncaught TypeError: firebase_compat_app__WEBPACK_IMPORTED_MODULE_0__.default.getAnalytics is not a function

  • @quangaonguyen7898
    @quangaonguyen7898 Год назад

    mọi người ơi em firebase emulators:start trên terminal và trên git bash đều bị lỗi: Error: Could not spawn `java -version`. Please make sure Java is installed and on your system PATH. mọi người giúp em với ạ em xin cảm ơn rất nhiều

  • @huynhphuso
    @huynhphuso 2 года назад +1

    npm install --save antd @ant-design/icons ... tiếp theo là gì ? mình bị cái hình của bồ che không nhìn thấy. ở phút thứ 3

    • @holetex
      @holetex  2 года назад

      Đây bạn npm install --save antd @ant-design/icons date-fns firebase lodash react-router-dom styled-components

  • @TrueKingFight
    @TrueKingFight Год назад

    Hiện tại cái đăng nhập bằng facebook nó không hoạt động được, anh có thể làm thêm video về đăng nhập facebook được không ạ

  •  3 года назад

    Có ai giống mình không import {Row, Col,Title} from 'antd'
    nhưng bị mỗi 'Title' is declared but its value is never read

  • @xunkuong8837
    @xunkuong8837 Год назад

    17:53 anh ơi cho em hỏi, như trong video của anh đang là router dom v5 nhưng giờ đã lên v6 có vài chỗ khác với bản cũ, em có code theo và đã tra cú pháp theo đúng v6 nhưng vẫn cứ bị báo lỗi là: Cannot read properties of null (reading 'useRef') ạ :((( em ngồi tìm cách sửa từ sáng tới giờ mà chưa được, mong a giải đáp thắc mắc ạ. Em cảm ơn anh nhiều ạ

  • @HuyQuang-u9s
    @HuyQuang-u9s 3 месяца назад

    a ơi cho e hỏi xíu những project a làm có giống trong thực tế khi đi làm không ạ @@

  • @sonhatran3156
    @sonhatran3156 5 месяцев назад

    Bạn có thể cho xin lại dòng lệnh khi cài đặt TEMINAL được không?
    Xin cảm ơn!

  • @oquang8432
    @oquang8432 Год назад

    em thấy không ai hỏi về tối đa lượng truy cập trong 1 khoảng thời gian á , anh cho em hỏi là làm sao để biết được tối đa lượng truy cập để tiện lợi trong việc sử dụng không ạ

  • @aithai7593
    @aithai7593 3 года назад +2

    Chào anh, anh cho em hỏi là ở phần useFirestore khi thực hiện thêm :
    collectionRef = collectionRef.where(
    condition.fieldName,
    condition.operator,
    condition.compareValue
    );
    khi mình thực hiện dưới localhost của emulators thì câu lệnh được áp dụng nhưng khi em đổi sang firebase trên web thì nó thông báo lỗi như sau: index.js:1 Uncaught Error in snapshot listener: FirebaseError: The query requires an index. You can create it here: console.firebase.google.com/v1/r/project/real-time-f6e3e/firestore/indexes?create_composite=Ck1wcm9qZWN0cy9yZWFsLXRpbWUtZjZlM2UvZGF0YWJhc2VzLyhkZWZhdWx0KS9jb2xsZWN0aW9uR3JvdXBzL3Jvb21zL2luZGV4ZXMvXxABGgsKB21lbWJlcnMYARoNCgljcmVhdGVkQXQQARoMCghfX25hbWVfXxAB
    at new n (prebuilt-038c95ef-26ab9a06.js:188)
    at prebuilt-038c95ef-26ab9a06.js:10420
    at prebuilt-038c95ef-26ab9a06.js:10421
    at n.onMessage (prebuilt-038c95ef-26ab9a06.js:10443)
    at prebuilt-038c95ef-26ab9a06.js:10360
    at prebuilt-038c95ef-26ab9a06.js:10391
    at prebuilt-038c95ef-26ab9a06.js:15184
    Anh giải thích giúp em với ạ !

    • @holetex
      @holetex  3 года назад +1

      Khi kết nối thực tế thì em cần tạo index cho firestore. Em làm theo hướng dẫn ngay trong câu lỗi kìa, nhấn vô rồi làm theo hướng dẫn của firebase là được nha em. Em sẽ cần phải tạo index một vài lần. Nó cứ báo lỗi như vậy thì em cứ nhấn vô link và làm theo hướng dẫn là đc

    • @kinhbach8795
      @kinhbach8795 3 года назад +1

      cũng bị lỗi giống bạn @@ k biets bạn fix được chưa nhỉ

    • @nguyenbui6546
      @nguyenbui6546 2 года назад

      @@kinhbach8795 bác fix đc chưa ạ

  • @manchesterunitedfever
    @manchesterunitedfever 3 года назад +2

    mình xin góp thêm ý kiến như sau:
    - phần into lên có hình mô tả.bạn có thể vẽ flow cơ bản của dự án(mình nghĩ k phức tạp) để ng xem hình dung ra được trong video sẽ có những nội dung gì + và các chức năng cơ bản của ứng dụng
    đây là góp ý chân thành của mình. chúc bạn và kênh đạt được nhiều thành công hơn

    • @holetex
      @holetex  3 года назад

      Cảm ơn góp ý của bạn ❤️

  • @cogiaojp2490
    @cogiaojp2490 2 года назад +1

    Hay lắm. A cho e hỏi là file JS có thông tin cấu hình firebase. Trên trình duyệt web bị nhìn thấy có ảnh hưởng đến bảo mật ko ạ.

    • @holetex
      @holetex  2 года назад +1

      Đối với Firebase thì không sao em nhé

  • @myth7135
    @myth7135 2 года назад

    minh bi loi nay la bi gi vay mn:
    Module not found: Error: Can't resolve 'antd' in 'C:\Users\Admin
    eactjs\app-chat\src\components\Login'

  • @hyphamne
    @hyphamne Год назад

    đoạn xác thực facebook hình như bây giờ mình cần phải xác minh doanh nghiệp nữa mới đc đúng ko a

  • @hoango163
    @hoango163 2 года назад

    anh cho em hỏi là khi em import firebase vào file Login thì UI đẩy ra 1 màn hình trống, em đã install firebase 8.10.0 rồi nhưng vẫn bị như vậy. đây là lỗi gì và sửa như thế nào ạ

  • @nguyenhungVA
    @nguyenhungVA 9 месяцев назад

    Anh ơi khi em làm đến ấn đăng xuất thì nó không tự tải lại trang mà path thì vẫn đổi thì fix như nào ạ

  • @khaiquang4354
    @khaiquang4354 2 года назад

    Hi mọi người...có cách nào để lưu lại dữ liệu trên emulators không mọi người..mỗi lầ làm mà mở lại là data bị mất hết

  • @hoaio9459
    @hoaio9459 2 года назад +4

    Ai bị lỗi này Attempted import error: 'firebase/app' does not contain a default export (imported as 'firebase') thử cách này xem nha. Hình như do firebase hiện tại là phiên bản mới. Vào terminal làm lần lượt để cài lại bản cũ:
    1. yarn remove firebase
    2. yarn add firebase@8.10.0
    3. yarn cache clean

    • @FunnyStory1102
      @FunnyStory1102 2 года назад +1

      chỉ mình cách khắc phục firebase đc ko ạ

    • @edwardelrics2138
      @edwardelrics2138 2 года назад

      đúng rồi , xung đột vì đổi cú pháp firebase 8 và firebase 9 =)))

  • @ngxn7881
    @ngxn7881 3 года назад

    trình viết câu lệnh cài đặt của anh thôi cũng thấy cao siêu rồi dài dằng dặc hehe
    anh nen giải thích nhiều hơn , ví dụ như cái đoạn signinwithpopup anh chưa nói tại sao và nó để làm gì công dụng nó ntn , nên làm em nghe như vịt nghe sấm

  • @minhchinh3791
    @minhchinh3791 2 года назад

    Chỗ Context viết vậy thì khi em viết một trang khác nữa thì không chuyển hướng sang trang đó được, nó vẫn về trang chủ. làm sao đây anh ?

  • @evol1107
    @evol1107 2 месяца назад

    npm install --save antd @ant-design/icons date-fns firebase lodash react-router-dom styled-components

  • @nguyenca5833
    @nguyenca5833 2 года назад

    có mấy đoạn cái console.log bị cái avatar che đi ạ, nếu mình cho cái avatart bo tròn lại có khi vừa đẹp vừa không bị che mất mấy chỗ đó ạ

  • @lenhac9040
    @lenhac9040 2 года назад

    Phiên bản mới của firebase khác quá, mò mệt mõi mà vẫn chưa dùng được realtimedb

  • @xuanchinh97
    @xuanchinh97 2 года назад

    Video này anh đã x1,25 rồi thì phải , e thấy khá là nhanh

  • @nghianguyentrong8832
    @nghianguyentrong8832 11 месяцев назад

    npm install --save antd @ant-design/icons date-fns firebase lodash react-router-dom styled-components

  • @nguyennam5056
    @nguyennam5056 2 года назад

    Ai còn xem video này , thì firebase đã thay đổi đường dẫn file .

  • @anhuc9573
    @anhuc9573 2 года назад

    Anh ơi cho em hỏi với ạ. Em code và chạy local ok hết rồi. Em muốn đẩy lên heroku thì fix emulators như nào ạ. Em chạy trên heroku thì báo lỗi đường dẫn localhost:9099

  • @kietvo102
    @kietvo102 2 года назад

    ai biết fix lỗi này không: Error: emulator is not a Firebase command

  • @vietnamnguyen7531
    @vietnamnguyen7531 Год назад

    anh ơi e lỗi phiên bản thế này, giờ lms để cho nó working đc đây ạ?

  • @FullReview97
    @FullReview97 Год назад

    ko hiểu sao e thấy video này hay nhưng e bị ngu react nên ko hiểu lắm😂

  • @igdev6095
    @igdev6095 3 года назад

    AE nào mà login với FB mà ko hiện icon nick mình thì nhớ chuyển từ Development Mod sang Live Mod nha 🍔

  • @manhlong6335
    @manhlong6335 5 месяцев назад

    anh cho em hỏi khi nào sử dụng firebase và khi nào dùng nodejs tùy vào dự án hay sao ạ

    • @holetex
      @holetex  5 месяцев назад +1

      Firebase em hình dung nó là một dịch vụ cung cấp sẵn hạ tầng phần backend cho em giúp em tăng tốc việc làm ra 1 ứng dụng hoàn chỉnh còn nodejs là em tự build phần backend em nhé

  • @hoanghuyho3377
    @hoanghuyho3377 2 года назад

    Em bị lỗi phần tìm và thêm bạn anh có thể giúp em được không ạ em cảm ơn

  •  2 года назад

    mới học react xem 20 phút thấy ngáo luôn

  • @thanhtuan9823
    @thanhtuan9823 9 месяцев назад

    bạn nào cho mình xin dòng lệnh install ở terminal với ạ

  • @KhangNguyen-kq2iw
    @KhangNguyen-kq2iw 3 года назад

    Nếu ai chạy ch được, áp dụng cách của bạn Tuan Nguyen nhé, trong terminal khi chạy code, thay vì npm start, sd lệnh này HTTPS=true npm start

  • @jockerthe8189
    @jockerthe8189 2 года назад

    mong anh ra 1 video kết hợp mongodb node react(nhiều router) xử lý jwt + làm mới token kết hợp với phân quyền router cho admin

  • @viettrong5164
    @viettrong5164 2 года назад

    mọi người cho mình hỏi làm sao để deploy app này lên internet ạ

  • @DTD310
    @DTD310 2 года назад

    a ơi !, a có thể hướng dẫn làm Notification push up vơi FCM được không anh?

  • @NguyenNgocThuong-2001
    @NguyenNgocThuong-2001 Год назад

    em làm giống i chan anh cái phần đăng nhập fb nó bị lỗi file config ERROR in ./src/components/firebase/config.js 15:0-22
    export 'default' (imported as 'firebase') was not found in 'firebase/app' (possible exports: FirebaseError, SDK_VERSION, _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _registerComponent, _removeServiceInstance, deleteApp, getApp, getApps, initializeApp, onLog, registerVersion, setLogLevel)
    làm ntn để fix đc ạ? em cảm ơn

    • @gakusano5686
      @gakusano5686 Год назад

      chắc firebase của b cài lỗi thử dùng cdn của firebase xem sửa được không

  • @HuyLe-zx8ko
    @HuyLe-zx8ko 3 года назад +1

    hay quá anh, đang định làm project để tổng kết kiến thức

  • @tannguyen_91
    @tannguyen_91 3 года назад +1

    Dù mình chỉ học tech sơ nhưng mình vẫn hiểu được logic và toàn bộ quá trình phát triển. Cám ơn bạn.

  • @66666mrfish
    @66666mrfish 2 года назад

    Cám ơn anh nhiềd

  • @huynhcoursevinh8808
    @huynhcoursevinh8808 3 года назад

    Dạ a cho e hỏi, e thấy Live Demo của a có thể login facebook hoặc google bằng nhiều account khác nhau, nhưng trong video a chỉ thì chỉ login đc vs account nào có add appID của fb hay google vậy ạ. Vì e cũng muốn tìm hiểu phương thức login vs nhìu user mà ko cần đăng ký developer của fb như Live Demo của a ạ. Mong nhận được phản hồi từ anh.!!!

  • @29.nguyentrongtam23
    @29.nguyentrongtam23 3 года назад

    anh ơi cái này có chạy được expo trên điện thoại không ạ

  • @kimso1950
    @kimso1950 9 месяцев назад

    anh cho em xin đoạn thêm thư viện với được không ạ

  • @thekhoaday
    @thekhoaday 2 года назад

    dòng add thư viện bị hình của ad che không nhìn được gì.. 😂

  • @nguyenvietan6009
    @nguyenvietan6009 2 года назад

    Anh ơi em làm như anh dùng git bash mà vẫn lỗi
    $ firebase emulators:start
    i emulators: Shutting down emulators.
    Error: Could not spawn `java -version`. Please make sure Java is installed and on your system PATH.

    • @hine_t
      @hine_t 2 года назад

      do máy bạn chưa cài java đấy, lên mạng search cài đặt java là ok

  • @PhongTran-wk7ox
    @PhongTran-wk7ox 3 года назад

    Bài này thì ai phải kiến thức sõi thì mới hiều được. :)))

  • @codingpiano4596
    @codingpiano4596 3 года назад

    Rất hữu ích ạ. Em xin lỗi em k xem hết dc :)) hihi 😊. Trên mạng cũng có nhưng k dc chi tiết cho lắm. Cảm ơn anh

  • @Kitajima2910
    @Kitajima2910 3 года назад +1

  • @vietnamnguyen7531
    @vietnamnguyen7531 Год назад

    anh ơi e hỏi cái lúc e bấm đăng nhập bằng facebook nó xuất hiện lỗi thế này, giờ phải làm sao ạ?
    a: null
    code: "auth/argument-error"
    message: "signInWithPopup failed: First argument \"authProvider\" must be a valid Auth provider."
    [[Prototype]]: Error

    • @iepquang9480
      @iepquang9480 10 месяцев назад

      chỗ const fbProvider b sửa như này xem được không nha: const fbProvider = new
      irebase.auth.FacebookAuthProvider();

  • @giangluong4333
    @giangluong4333 Год назад

    sao e làm giống như của a mà khi t tạo thêm emulators đến 1:20:00 mà trong cái FireStore trên localhost: 4000 chả có tí dữ liệu nào luôn à , trong khi đó laị có ạ

    • @baopham1851
      @baopham1851 Год назад

      bạn fix được chưa tui cũng bị vậy

  • @manhcuong2271
    @manhcuong2271 2 года назад

    E sử dụng firebase v9 thì check user đã tồn tại trong db như thế nào anh, em thấy không còn field isNewUser nữa mà có 2 field là emailVerified và isAnonymous nhưng dù dùng tài khoản cũ hay mới thì giá trị emailVerified luôn mặc định là true và isAnonymous luôn là false ạ

    • @ductc241
      @ductc241 2 года назад +3

      import { signInWithPopup, getAdditionalUserInfo } from 'firebase/auth';
      xong rồi lấy data lấy đc từ signInWithPopup cho vào -> getAdditionalUserInfo (data)

  • @minhthanhnguyen3268
    @minhthanhnguyen3268 3 года назад

    Anh làm bài hướng dẫn api facebook lấy danh sách live comment giống ứng dụng TPOS hoạt động đi anh

  • @risket211
    @risket211 3 года назад

    anh ơi cái cam của anh nó che mất nội dung terminal mất tiêu.r :(

  • @khuongtran7823
    @khuongtran7823 3 года назад

    anh ơi cái link anh đưa fix login with fb bị die rồi anh

  • @ducnguyen-e4w4b
    @ducnguyen-e4w4b 9 месяцев назад

    Bạn có nhận làm wed dạng này không?

  • @phucwall121
    @phucwall121 2 года назад

    Anh ơi, khác biệt giữa useMemo và useCallback là gì vậy anh? em có đọc trên những trang trên google mà đa số chỉ nói chung chung, ví dụ thì em thấy không có gì khác biệt ạ.

    • @huynhthanhhieu477
      @huynhthanhhieu477 2 года назад

      useMemo sẽ trả về giá trị mà thèn callback bên trong nó return, còn useCallback thì trả về tham chiếu của callback bên trong nó.

  • @googleaccount663
    @googleaccount663 2 года назад

    Cảm ơn anh nhiều về project này. Mong anh ra thêm nhiều video về ReactJS. Cách giảng giải của anh rất dễ hiểu ạ.

  • @loctien1448
    @loctien1448 3 года назад

    rất hữu ích ạ. mong a ra nhiều video như thế này hơn a. 1 cách để tiếp cận, tổng hợp lại và nâng cao kiến thức của mình. Cảm ơn a

  • @dennisnguyen5787
    @dennisnguyen5787 2 года назад

    anh ơi đoạn addmodal sao của em bị lỗi setIsAddModal... is not a function ạ? anh có thể giúp em được không?

    • @holetex
      @holetex  2 года назад +1

      Em kiểm tra thử xem có truyền vô Provider chưa nhé

  • @jockerthe8189
    @jockerthe8189 2 года назад +1

    ngồi 2h mới xem xong 28phút . bài này quá là hay luôn .

    • @holetex
      @holetex  2 года назад +2

      cảm ơn em nhé

    • @jockerthe8189
      @jockerthe8189 2 года назад

      @@holetex ơ em phải cảm ơn anh mới đúng chứ

  • @duonglekhanh9729
    @duonglekhanh9729 3 года назад

    anh ơi em làm đăng nhập nhưng lúc đăng nhập nó báo Facebook đã phát hiện Zoom không sử dụng kết nối bảo mật để truyền thông tin. thì làm sao z anh

    • @holetex
      @holetex  3 года назад

      Em thử làm theo comment anh ghim ở dưới video nhé

  • @tateic9092
    @tateic9092 2 года назад

    anh hướng dẫn hay thật. nhưng mà nếu được anh có thể làm chậm lại thao tác coppy paste chậm lại. vì thật sự em đang hình luồng code nó chạy như thế nhưng anh coppy paste em không thể nhận biết đc anh paste vào đâu luôn. dạ anh có thể danh thêm thời gian phân tích luồng code nó chạy thế nào không ạ. anh có thể chia ra nhiều video không nhất thiết phải 1 cai đâu ạ. dạ thêm cái nữa là có 1 số hàm anh sử dụng có thể mọi người vẫn chưa biết công dụng của nó như thế nào ạ . vd như mấy hàm trong thư viện firebase. sigin, sigout. học theo sẽ biết nó dúng như thế nhưng thực sự em không biết bản chất nó là thế nào hết ạ

    • @top_1_florentino
      @top_1_florentino Год назад

      mấy hàm này search doc firebase có hết bạn

  • @hoang7151
    @hoang7151 Год назад

    Firebase version 10. ngồi config mất hơn 1 tiếng được :))

    • @nguyentr29028
      @nguyentr29028 7 месяцев назад

      con fig sao v tui mò muốn chét

  • @ngochoangle1770
    @ngochoangle1770 3 года назад

    kênh làm hay! rất ít kênh việt nam có nội dung như này! +1 đăng ký kênh! chúc a thành công!

  • @tunguyenngoc8236
    @tunguyenngoc8236 2 года назад

    Em đang tính làm một trang web, em thấy dùng firebase tiết kiệm được thời gian mình làm backend, mà cách tính tiền theo số lần read/write chát quá anh, em nghĩ chắc em tự viết backend rồi dùng mongo atlas giá cố định theo tháng hợp lý hơn.

  • @khuongtran7823
    @khuongtran7823 3 года назад

    anh ơi cho em hỏi deploy thì như thế nào ạ vì cái này mình đang có localhost của emulators

  • @anhtutran9627
    @anhtutran9627 3 года назад

    anh ơi cho em hỏi chút, em chạy app trên firestore của firebase emulator thì app vẫn hoạt động bthg nhma em chuyển sang chạy trên cloud firestore thì lại có lỗi ntn "Uncaught Error in snapshot listener: FirebaseError: no matching index found." là sao ạ

    • @holetex
      @holetex  3 года назад

      Em tham khảo các comment khác anh đã trả lời câu hỏi tương tự rồi em nhé

  • @tuongvotrungthien9897
    @tuongvotrungthien9897 3 года назад

    Hí hí hóng video của a nè
    Cảm ơn a nhaaaa
    Hóng project tiếp theo a dùng react kết hợp với redux ạ

  • @p.arnoldapril2002
    @p.arnoldapril2002 Год назад

    video này 2 tiếng nhưng mất 6 tiếng để vừa nhìn vừa code theo, ảo thật đấy =))

  • @duongmaiquy2819
    @duongmaiquy2819 3 года назад

    Chúc bạn và gia đình nhiều sức khỏe, cảm ơn bạn!

  • @GambareDev
    @GambareDev 3 года назад +1

    chao anh. anh làm thêm video huong dẫn up lên server nữa thì tuyệt vời a ạ

    • @igdev6095
      @igdev6095 3 года назад +1

      Úp lên firebase thì b gõ npm run build để nó tạo ra folder build á r b push lên th

    • @holetex
      @holetex  3 года назад +1

      Cách deploy lên firebase khá đơn giản. Em có thể theo dõi tại trang này nhé
      dzone.com/articles/react-apps-firebase

    • @HuyLe-zx8ko
      @HuyLe-zx8ko 3 года назад

      @@holetex anh có thể cho em hỏi về vấn đề ngoài project này không ? lỗi do folder build khi run build thì giải quyết thế nào anh, báo lỗi là unexpected token > . App chạy trên local vẫn ổn chỉ khi build thì bị lỗi thôi anh.

  • @danhle54
    @danhle54 3 года назад

    demo 1 project nhỏ dùng docker đi a :Vv

  • @user-lj3mo5pr1s
    @user-lj3mo5pr1s 2 года назад

    cho em hỏi là lúc anh override cái component Tab của antd mấy cái selector như .ant-collapse-header .ant-collapse-content-box mấy cái này mình xem ở đâu vậy anh

    • @holetex
      @holetex  2 года назад

      em có thể kiểm tra bằng dev tool trên trình duyệt nhé

  • @trantuanat524
    @trantuanat524 2 года назад

    10 phút cuối hơi lú nhỉ :(

  • @hoale1285
    @hoale1285 3 года назад +2

    Cuối cùng cũng làm xong hihi
    Cảm ơn anh thật nhiều ><
    P/s: hết 1 tuần

    • @khuongtran7823
      @khuongtran7823 3 года назад

      bạn ơi có thể hướng dẫn mình không ạ

    • @hoale1285
      @hoale1285 3 года назад

      @@khuongtran7823 bạn cần hướng dẫn gì í

    • @khuongtran7823
      @khuongtran7823 3 года назад

      @@hoale1285 taij tui sign with fb nó cứ lỗi không biết fix luôn , cái link ad gửi thì die hết nên giờ bí đường làm lun

    • @hoale1285
      @hoale1285 3 года назад +1

      @@khuongtran7823 lúc đầu mình cũng lỗi, nhưng mình tạo 1 account fb mới thì làm lại được í

    • @hoale1285
      @hoale1285 3 года назад +2

      @@khuongtran7823 11:08 -> 11:09 const fbProvider = new firebase.auth.FacebookAuthProvider();
      Mình cũng chỉnh chổ này nữa

  • @milissachalmers4940
    @milissachalmers4940 2 года назад

    chỗ debounce khó hiểu quá a