강의

멘토링

커뮤니티

BEST
Programming

/

Web Development

Dự án thực tế chia nhỏ từng miếng - Phiên bản SNS

Bây giờ là lúc thử thách với thực chiến 🔥 Cùng phát triển SNS cấp độ thực tế với React.js + TypeScript + Supabase và tạo ra các tính năng như xác thực&ủy quyền, cuộn vô hạn, tải lên hình ảnh, thích, bình luận lồng nhau vô hạn, chế độ tối. Trong quá trình này, chúng ta cũng sẽ tìm hiểu kỹ thuật quản lý trạng thái server và global bằng Zustand và Tanstack Query.

(5.0) 64 đánh giá

1,134 học viên

  • winterlood
  • hyobin
이론 실습 모두
실전프로젝트
한입시리즈
react.js
supabase
zustand
react-query
React
TypeScript

Đánh giá từ những học viên đầu tiên

Bạn sẽ nhận được điều này sau khi học.

  • Tạo dự án SNS cấp độ thực tế sử dụng React.js + TypeScript + Supabase.

  • Xác thực & ủy quyền, cuộn vô hạn, tải lên hình ảnh, thích, bình luận lồng nhau vô hạn, chế độ tối và các tính năng khác sẽ được tạo ra

  • Chúng ta sẽ tìm hiểu các kỹ thuật quản lý trạng thái máy chủ và trạng thái toàn cục bằng Zustand và Tanstack Query.

React.js + TypeScript thông qua

Tạo dịch vụ SNS cấp độ thực tế.

Nếu bạn chỉ lặp lại các tutorial, thì giờ đây đã đến lúc thử thách bản thân với các dự án thực tế.

Trong khóa học này, chúng ta sẽ sử dụng React.js + TypeScript + Supabase để

Chúng ta sẽ xây dựng một dịch vụ SNS cấp độ thực tế có thể cung cấp cho người dùng thực từ đầu đến cuối.

Trang web demo: https://demo-onebite-log.vercel.app/

> Email tài khoản test: test@onebitefe.com

> Mật khẩu tài khoản test : 123456


Không chỉ là triển khai UI đơn giản,

Tạo trực tiếp các tính năng cốt lõicấu thành nên dịch vụ thực tế.

Khóa học này không phải là một khóa học hướng dẫn chỉ dạy cách triển khai UI đơn giản hoặc CRUD.

Xác thực/phân quyền, tải lên hình ảnh, cuộn vô hạn, thích, bình luận lồng nhau vô hạn, chế độ tối, v.v. của

Chúng ta sẽ trực tiếp thiết kế và triển khai các tính năng cốt lõi được sử dụng trong các dịch vụ thực tế ngày nay.


⚙️ Xác thực & Ủy quyền người dùng

  • Đăng ký/Đăng nhập bằng email

  • Đăng nhập mạng xã hội (GitHub)

  • Tìm lại mật khẩu

  • Quản lý phiên

  • RLS를 이용한 ủy quyền

⚙️ Cuộn vô hạn feed

  • useInfiniteQuery를 sử dụng để quản lý cuộn vô hạn feed

  • Quản lý dữ liệu cache


⚙️ Đính kèm hình ảnh

  • Tải lên và quản lý hình ảnh sử dụng Supabase Storage

  • Triển khai tính năng tải lên hình ảnh bài đăng và hồ sơ


⚙️ Thích

  • Giải quyết vấn đề đồng thời (RPC)

  • Phản ánh kết quả nhanh chóng thông qua thao tác cache


⚙️ Bình luận lồng nhau vô hạn

  • Triển khai tính năng bình luận lồng nhau vô hạn

  • Kết xuất thành phần đệ quy


⚙️ Tính năng thay đổi chủ đề

  • Cung cấp chủ đề hệ thống, tối, sáng

  • Triển khai tính năng duy trì theme và chống nhấp nháy bằng Persist




Giới thiệu các công cụ để xây dựng ứng dụng React mạnh mẽ hơn

TailwindCSS + Zustand + Tanstack Query

Để xử lý tốt các tính năng phức tạp, các công cụ của chúng ta cũng cần được nâng cấp cùng lúc.

Trong khóa học này, chúng ta sẽ từng bước làm quen với các công cụ mạnh mẽ được hướng dẫn dưới đây

Tôi dự định sẽ tích cực áp dụng vào các dự án thực tế.


Tailwind CSS


  • Công cụ hỗ trợ tạo kiểu CSS một cách thuận tiện hơn

  • Không cần file CSS riêng biệt cho việc tạo kiểu

  • https://tailwindcss.com/


Shadcn/ui


  • Thư viện thiết kế dựa trên Tailwind CSS

  • Cung cấp các component chất lượng cao (ví dụ: Input, Button, Dialog, v.v.)

  • https://ui.shadcn.com/

Zustand


  • Thư viện quản lý trạng thái toàn cục nhỏ gọn và nhẹ

  • Thế lực mới nổi đang đẩy lùi Redux truyền thống

  • https://zustand-demo.pmnd.rs/

Tanstack Query



Đây không phải là clone coding chỉ đơn thuần là gõ theo.

Từ bối cảnh và cấu trúc của tính năng, đến việc giải thích khái niệm cũng được trình bày một cách hoàn hảo.

Khóa học này tuyệt đối không phải là loại khóa học chỉ đơn thuần gõ theo code và kết thúc.

Tại sao lại triển khai như vậy, được cấu thành theo luồng nào

Tôi cũng đã bao gồm rất nhiều giải thích lý thuyết để bạn có thể hiểu và tiếp thu một cách trực tiếp.

Hướng dẫn đối tượng tham gia khóa học

Khóa học này được thiết kế dành cho những người đã có kiến thức cơ bản về React.js và TypeScript

Nếu bạn chưa quen thuộc với các công nghệ trên thì tôi khuyến nghị bạn nên học các khóa học cơ bản dưới đây trước.

5 nguyên tắc của series Một miếng

⚖ Nguyên tắc 1. Tài liệu trực quan trực quan và phong phú

Giống như cùng một món ăn nhưng trông đẹp mắt sẽ cảm thấy ngon hơn
tôi nghĩ rằng cùng một khái niệm giải thích nhưng có tài liệu hình ảnh trực quan và hấp dẫn hơn sẽ dễ hiểu hơn.

Do đó, tôi đã không ngừng nỗ lực để tạo ra các tài liệu trực quan trực quan bao gồm cả hoạt hình.

⚖ Nguyên tắc 2. Sự tử tế

Khi xuất hiện các thuật ngữ hoặc khái niệm mới, tôi không giải thích qua loa rồi bỏ qua, cũng không tự cho rằng các bạn đã biết rồi. Tôi đã cố gắng hết sức để các bạn không phải tìm kiếm thêm trên Google khi nghe bài giảng.

⚖ Nguyên tắc 3. Tính hợp lý

Để duy trì sự hứng thú của các học viên, tôi luôn suy nghĩ về tính hợp lý khi tạo ra bài giảng, luôn cân nhắc xem khi nội dung mới xuất hiện trong bài giảng có liên quan đến nội dung trước đó hay không, liệu các bạn có cảm thấy dòng chảy bị gián đoạn đột ngột hay không.

⚖ Nguyên tắc 4. Phát âm và khẩu hình tốt

Vì các bạn phải nghe giọng nói của tôi trong thời gian dài, tôi luôn cố gắng để có phát âm và khẩu hình tốt.
Để làm được điều này, tôi đã sản xuất khóa học sao cho các bạn có thể hiểu được tất cả ngay cả khi phát ở tốc độ 2x.

Hãy nghe thử một lần! Link phát 2x tốc độ

⚖ Nguyên tắc 5. Giao tiếp

Tập hợp tại cộng đồng dành riêng cho học viên để chia sẻ kiến thức và tin tức với nhau, cùng nhau phát triển.

Giới thiệu người chia sẻ kiến thức


Lee Jeong-hwan | Winterlood

Một lập trình viên frontend & giáo viên tin rằng có cách để giải thích mọi thứ một cách dễ dàng và thú vị

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Các bạn học viên của loạt bài Một Miếng (đã hoàn thành khóa học React.js + TypeScript)

  • Những người đã có kiến thức về React.js và TypeScript

  • Những người muon thử thách bản thân với các dự án thực tế thay vì chỉ dừng lại ở mức độ hướng dẫn cơ bản

  • Những người đang tìm kiếm các khóa học có trả lời câu hỏi ít nhất 1 lần mỗi ngày từ thứ Hai đến thứ Sáu

  • Những người đang tìm kiếm các khóa học có cộng đồng học viên hoạt động do chính người chia sẻ kiến thức vận hành

Cần biết trước khi bắt đầu?

  • React.js cơ bản (trình độ học viên khóa học React một miếng)

  • TypeScript cơ bản (trình độ học viên khóa học TypeScript một ngụm)

Xin chào
Đây là

35,697

Học viên

2,357

Đánh giá

1,526

Trả lời

4.9

Xếp hạng

13

Các khóa học

웹 프론트엔드 한 입 크기로 잘라먹어 볼까요?!

안녕하세요 🙇‍♂

저는 무엇이든 쉽고 재미있게 설명할 방법이 있다고 믿는 사람이자

세상에서 가장 따뜻한 개발자 커뮤니티를 만들고자 하는 사람입니다.

 

Chương trình giảng dạy

Tất cả

88 bài giảng ∙ (22giờ 9phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

64 đánh giá

5.0

64 đánh giá

  • 민경언님의 프로필 이미지
    민경언

    Đánh giá 15

    Đánh giá trung bình 3.3

    5

    31% đã tham gia

    인프런에서 꽤 많은 유료 강의를 들었는데..모든 면에서 이정환님의 강의는 최고 입니다. 그래서 이정환님의 강의는 모두 들었습니다. 이번 리액트 SNS 강의도 좋으네요.. 이정환님의 강의는... 1. 강의 준비를 해온 것이 들으면서 느껴집니다. => 다른 강사들의 영상을 보면 거의 대부분 스크립트 준비 같은 건 안합니다. 대부분 제목 수준의 내용만 준비 하는 것 같습니다. 그러다 보니 영상을 보면 버벅 거리고, 한 말 또 하고.. 예제가 결과와 다르게 나오고..어떤 경우는 하도 침을 꼴깍 넘기는 소리를 너무 많이 내서 더러워서 이후로 듣지 않은 것도 있습니다. 그런데 이정환님의 강의는 촬영 전에 스크립트를 철저히 준비 하는 것이 보다 보면 느껴집니다. 그러니까 중언도 없고, 진행이 매끄럽습니다. 매우 만족 스럽고, 정말 돈을 내고 들을 만 하다고 느껴 집니다. 2. 강의 환경 준비를 잘 합니다. => 다른 강사들의 영상과 다르게 처음 부터 끝까지 음향이 일정 합니다. 이정환님의 강의를 보면 거의 움직이지 않고 촬영 합니다. 움직이면 음성이 고른 높낮이로 녹음이 되지 않기 때문에 그런 것 같습니다. 3. 강의 내용 품질이 좋습니다. => 다른 강사들의 영상을 보면 대부분 PPT에 그냥 타이핑 해서 보여줍니다. 별로 정성스럽다는 느낌이 들지 않습니다. 유료로 보는 입장에서 좀 돈이 아깝다는 느낌이 들기도 합니다. 이정환님의 강의는 PPT로 보여지는 화면이 없습니다. 모두 애니메이션화 된 화면으로 설명을 합니다. 그러다 보니 이해가 빠를 수 있습니다. 그런데 이정환 님의 강의를 보다 보니..문제가 있습니다. 다른 강사들의 유료 영상 미리보기를 보면 품질이 맘에 들지 않아 구매가 꺼려 집니다... 다른 강사들은 이정환님의 강의를 보고 벤치마킹 해야 합니다. 인프런 측에서도 이정환님의 강의를 벤치 마킹 해서 이를 기준으로 삼고 유료로 운영 하고자 하는 강사들에게 따를 것을 요청 해야 합니다. 돈 내고 보는 건데 보다 좋은 품질을 서비스 해야 하는 것이 당연한 것 아닐까요? 그래서..이정환님의 강의만 강의라고 부릅니다. 다른 강사들의 영상은 그냥 영상 이라고 부릅니다..강의라고 부르기엔 부족 합니다.

    • kaeuhy님의 프로필 이미지
      kaeuhy

      Đánh giá 1

      Đánh giá trung bình 5.0

      Đã chỉnh sửa

      5

      10% đã tham gia

      강의 커리큘럼을 보며, 참 알차다고 생각했습니다. 이보다 더 완벽한 프론트엔드를 위한 강의는 존재하지 않습니다. 프론트엔드 = 이정환

      • 챙준님의 프로필 이미지
        챙준

        Đánh giá 9

        Đánh giá trung bình 5.0

        5

        100% đã tham gia

        강의를 시작하기 전에 들었던 Live Session 에서 좋은 영감을 받았고, 프로젝트를 따라하면서 더 감을 잘 익힐 수 있었던 것 같아요. Tanstack Query 를 활용한 서버 상태 관리의 유용함에 대해 좀더 깊게 생각할 수 있었고, 제가 생각했을 때 저의 주력 프레임워크인 TypeScript, React 와 Zustand, Supabase 까지 폭넓게 배울 수 있었습니다. 누구든 사이드 프로젝트에 대한 고민이 있을 때, 이 강의를 접하고 나면 정말 좋은 시작이 될 것 같아요. 강력 추천합니다!

        • 김김님의 프로필 이미지
          김김

          Đánh giá 8

          Đánh giá trung bình 5.0

          5

          67% đã tham gia

          내가 이런걸 만들수있을까 싶던것을 하나하나 쉽고 자세한 설명과 함께 만들어가다보니 점점 구현되고있는게 신기합니다 ㅎㅎ 이강의 하나만 반복해서 들으면 프론트와 백엔드의 흐름과 생태환경을 제대로 이해할수 있을듯 싶습니다. 이전강의도 다 챙겨봤는데, 앞으로도 좋은 강의 부탁드립니다~

          • Ay Caramba님의 프로필 이미지
            Ay Caramba

            Đánh giá 4

            Đánh giá trung bình 5.0

            5

            56% đã tham gia

            아직 완강하진 않았지만 수강평 남깁니다. 이 강의를 통해서 포트폴리오를 만들어야지~ 라는 생각보다 이 강의를 통해서 supabase와 리액트를 사용한 프로젝트의 플로우는 어떻게 흘러갈까? 라는 생각으로 전체적인 흐름을 보려는 생각으로 수강하시면 더 좋을 것 같습니다. 강의 질은 엄청 좋습니다. 이 강의 전에 supabase강의를 들었지만 그 강의와는 다르게 정말 차원이 다르게 자세하게 설명해주십니다. 물론 이 강의만 듣고 supabase는 이렇구나~ 보다는 이 강의를 통해서 아주 기본적인 개념 틀을 잡으신 후에 supabase의 공식 문서를 통해 더 공부하시면 전보다 훨씬 이해가 잘되서 더 좋습니다. 물론 이정환님께서 설명을 잘해주시고, 시각자료로 더 쉽게 설명해주셔서 가능한 일인것 같습니다. 때문에 꼭 이 강의를 들으셨으면 좋겠습니다. 그리고 zustand와 리액트 쿼리 강의도 이 강의에 포함되어 있는데 엄청 좋습니다... 이해가 잘 되고요. 이 강의를 통해서 나중에 혼자 더 공부할때 도움이 많이 되는것 같습니다.

            1.162.383 ₫

            Khóa học khác của winterlood

            Hãy khám phá các khóa học khác của giảng viên!

            Khóa học tương tự

            Khám phá các khóa học khác trong cùng lĩnh vực!