Xây dựng ứng dụng di động diễn đàn trò chuyện cơ bản với Xcode và Firebase



Demo ứng dụng

Demo ứng dụng Ở ĐÂY

Giới thiệu

Trong bài viết này, mình sẽ giới thiệu về ứng dụng di động diễn đàn trò chuyện mà mình đã xây dựng bằng Xcode và Firebase. Nếu bạn đang tìm kiếm một giải pháp nhanh chóng để tạo một ứng dụng trò chuyện, bạn có thể clone dự án của mình từ GitHub và cấu hình để sử dụng ngay. Mình sẽ hướng dẫn chi tiết các bước để bạn có thể làm được điều đó.

Nội dung

Về nội dung mình sẽ khái quát ngắn gọn bởi mình lấy ý tưởng từ chính trường mình đang học là Yersin University và cách mình xây dựng cho ứng dụng hoạt động cũng rất đơn giản. Bất cứ trong một môi trường làm việc nào cũng cần một phương tiện hoặc công cụ để kết nối mọi người với nhau. Ví dụ: 1 ngôi trường thường xuyên tổ chức nhiều sự kiện liên quan về "Nghiên Cứu Khoa Học" như trường mình thì thường có rất nhiều thông tin, tài liệu được đăng tải và sử dụng trước và cả sau cuộc thi. Vì vậy việc lên ý tưởng để tạo 1 ứng dụng di động nhầm gom nhóm tất cả những thứ liên quan về đề tài này thành một diễn đàn nơi mọi người có thể giao lưu và học hỏi cũng như trao đổi tài liệu với các thầy cô trong trường hoặc các bạn cùng khóa. Ngoài ra còn có thể đọc tin nhắn,download tài liệu, đăng tải những ý tưởng thú vị. Mình đặt tên app là "YSR" (viết tắt: Yersin Scientific Research) nhầm nhấn mạnh cách hoạt động của ứng dụng xoay quanh chủ đề này. Mình chọn ngôn ngữ swift và sử dụng Xcode để thực hiện, ngoài ra việc lưu trữ dữ liệu về tin nhắn hay các bài viết cũng cần có một cơ sở dữ liệu quản lý chặt chẽ và dễ dàng. Sau khi phân tích mình đã chọn một SQL quản lý theo cấu trúc file JSON là Firebase.

Công nghệ sử dụng

Các chức năng chính

Trước tiên, hãy cùng điểm qua một số tính năng chính của ứng dụng:

  1. Login with Google or Apple
  2. Phòng nhắn tin chung
  3. Diễn đàn đăng tải blog
  4. ChatGPT
  5. Đăng tải và lưu tài liệu dự án
  6. Thông tin về cuộc thi
  7. Profile
  8. Cài đặt

Yêu Cầu Hệ Thống

Để có thể chạy được dự án này trong Xcode, bạn cần chuẩn bị một số công cụ và tài khoản sau:


Các Bước Clone và Cấu Hình Dự Án

Bước 1: Clone Dự Án từ GitHub

Trước tiên, bạn cần clone dự án từ GitHub về máy tính của mình. Mở Terminal và chạy lệnh sau:

git clone https://github.com/tranphuchuynh1/Forum.SF.YersinUniversity.git

Bước 2: Thêm các gói package

Sau khi đã clone dự án về, bạn cần cài đặt các thư viện phụ thuộc bằng cách mở dự án trong Xcode rồi nhìn lên thanh công cụ, chọn File > Add Package Dependencies và một cửa sổ sẽ hiện lên:

Xcode và Firebase

Tiếp theo copy các link bên dưới vào thanh package URL để thêm gói:

https://github.com/google/GoogleSignIn-IOS
https://github.com/adamrushy/OpenAISwift
https://github.com/SDWebImage/SDWebImage
https://github.com/SDWebImage/SDWebImageSwiftUI

Bước 3: Cấu Hình Firebase

  1. Tạo Dự Án Firebase:
    • Truy cập Firebase Console.
    • Nhấp vào "Add project" và làm theo hướng dẫn để tạo một dự án mới.
  2. Thêm Ứng Dụng iOS vào Firebase:
    • Trong Firebase Console, chọn biểu tượng iOS để thêm ứng dụng mới.
    • Tải file GoogleService-Info.plist về máy tính.
  3. Thêm File GoogleService-Info.plist vào Xcode (nếu có sẳn file.plist thì xóa đi và add file mới tạo vào):
    • Kéo và thả file GoogleService-Info.plist vào thư mục gốc của dự án Xcode trong Xcode.
  4. Cấu Hình Firebase trong Dự Án:
    • Mở AppDelegate.swift và thêm mã sau để cấu hình Firebase khi ứng dụng khởi động:
    • import Firebase @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { FirebaseApp.configure() return true } }

Bước 4: Cấu Hình ClientID

Vào GoogleService-Info.plist vừa kéo vào dự án > copy clienID và bỏ vào đoạn code trong AuthManager.swift:

Xcode và Firebase

Bước 5: Chạy Ứng Dụng

Bây giờ, bạn đã sẵn sàng để chạy ứng dụng. Trong Xcode, chọn thiết bị giả lập hoặc thiết bị thực và nhấn nút "Run" (hoặc Cmd+R) để xây dựng và chạy ứng dụng.


Kết Luận

Trong bài viết này, mình đã hướng dẫn bạn cách clone và cấu hình dự án diễn đàn trò chuyện cơ bản sử dụng Xcode và Firebase. Đây là một cách nhanh chóng để bắt đầu với một ứng dụng trò chuyện di động mà không cần phải xây dựng từ đầu. Nếu bạn có bất kỳ câu hỏi hoặc gặp khó khăn nào, đừng ngần ngại để lại bình luận bên dưới. Chúc các bạn thành công và vui vẻ với dự án của mình!