Xây dựng app Chat đơn giản từ SpringBoot và React Native - Phần 1: Dựng Database với Heroku Postgres
heroku
6
Postgresql
12
navicat
1
chat
5
White

bienthaikieusa viết ngày 25/07/2020

Hiện nay, các ứng dụng chat đang trở thành xu hướng phát triển nhằm tăng tính tương tác và kết nối tiện lợi cho người dùng mọi lúc, mọi nơi. Bạn có bao giờ tự hỏi, để xây dựng được messenger, zalo hay whatsapp cần công nghệ gì, code như thế nào?

Ở trên mạng đã có rất nhiều bài viết xây dựng ứng dụng Chat với React Native, với sự trợ giúp của Firebase. Ưu điểm giải quyết phần lớn bài toán từ back-end, dựng database, cũng như có hỗ trợ push notification và theo mình đánh giá là tốc độ gọi API rất nhanh. Tuy nhiên, với bài viết này, mình muốn giúp các bạn có thể hiểu và làm tất tần tật mọi thứ, nhờ đó mà có thể nắm được luồng đi của một ứng dụng.

Bắt đầu thôi!

Vì các bước tạo lập ứng dụng khá “khoai” nên nội dung này sẽ được chia làm 4 phần như sau:

  • Dựng Database với Heroku Postgres
  • Xây dựng API cho ứng dụng Chat với Spring Boot
  • Deploy API lên Heroku
  • Xây dựng giao diện Chat đơn giản trên điện thoại với React Native

Kiến thức nền trong phần này:

  • Hiểu nền tảng các câu lệnh SQL đơn giản (mà ở đây là PostgreSQL).
  • Cách sử dụng công cụ Navicat hoặc công cụ quản lý CSDL nào bạn quen thuộc.

Bước 1: Tạo một tài khoản Heroku

Imgur

Bước 2: Tạo một dự án (project) mới trong Heroku

Imgur
Imgur
Lưu ý: App name chỉ gồm chữ thường và có dấu gạch nối (do heroku quy định). Để tránh trường hợp bị conflict (mâu thuẫn) domain, ngay tại bước này bạn nên đặt một tên khác theo ý thích của mình.

Bước 3: Dựng Database với Heroku Postgres

Sau khi Create App ở bước 2, bạn chuyển sang tab Resources, trong phần Add-ons hãy tìm và chọn Heroku Postgres.
Imgur
Imgur
Sau khi nhấp Provision, ta sẽ được như hình bên dưới. Hãy làm theo các số thứ tự bên dưới nhé:
Imgur
Imgur
Imgur
Đây là những thông tin cần thiết để kết nối với database, giúp cho bạn trích xuất dữ liệu dễ dàng thông qua các công cụ hỗ trợ. Hãy lưu các thông tin này lại nhé.

Bước 4: Kết nối database (cơ sở dữ liệu)

Ở đây mình sẽ sử dụng công cụ Navicat dùng để kết nối database. Các bạn có thể xem hướng dẫn cài đặt tại đây.
Sau khi cài đặt thành công, hãy làm theo như các hình bên dưới.
Imgur
Imgur
Hộp thoại này sẽ lưu các thông tin kết nối database ở bước 3. Các bạn có thể chọn Test Connection trước để xem có lỗi gì không trước khi chọn OK.
Sau khi kết nối thành công, các bạn nhấp đúp chuột ở “ChitChatDB-heroku” để mở kết nối, sau đó nhấp nút trái chuột để New Query
Imgur

Bước 5: Tạo bảng MESSAGES

Nhập dòng code sau để tạo bảng MESSAGES

CREATE TABLE MESSAGES(
   ID       SERIAL PRIMARY KEY,
   USERNAME VARCHAR(50),
   PASSWORD VARCHAR(50),
   MESSAGES VARCHAR(355),
   STATUS   SMALLINT,
   CREATED_ON TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Sau khi chạy câu truy vấn này thành công, các bạn có thể INSERT 1,2 dòng dữ liệu và thực hiện SELECT thử.

INSERT INTO MESSAGES (USERNAME, PASSWORD, MESSAGES, STATUS) VALUES
    ('bienthaikieusa', '123', 'hello!', 1);
SELECT * FROM MESSAGES;

Nếu thành công, thì sẽ có kết quả như sau:

Imgur

Kiểm tra lại trang Heroku ở bước 3 và chuyển sang tab Overview, ta sẽ thấy kết quả như sau:

Imgur

Như các bạn đã thấy, ở đây chúng ta đã có 1 table và 1 row, phản ánh đúng như những gì đã thấy trong Navicat. Đến đây, các bạn đã thành công trong việc dựng Database với Heroku Postgres.

Nếu bạn thấy bài viết này hữu ích và muốn tiếp tục đọc các phần tiếp theo về chủ đề này, đừng ngần ngại like bài viết hay comment ý kiến của mình nhé.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

bienthaikieusa

11 bài viết.
1 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
7 1
Để tạo ra một sản phẩm bán chạy, bạn phải dựa trên đúng nhu cầu của các khách hàng tiềm năng. Cũng nguyên tắc tương tự, một trang Web không thể thà...
bienthaikieusa viết 7 tháng trước
7 1
White
4 0
"Master programmers think of systems as stories to be told rather than programs to be written.” – Robert C. Martin. (Tạm dịch: “Các lập trình viê...
bienthaikieusa viết 4 tháng trước
4 0
White
3 2
Đã bao giờ bạn nghĩ tới việc sẽ thử lòng người yêu, đồng nghiệp hay bất kỳ đối tượng nào bằng một khảo sát (survey) đơn giản? Và hơn nữa chỉ với mộ...
bienthaikieusa viết 7 tháng trước
3 2
Bài viết liên quan
White
48 26
Vừa rồi mình vừa tiết kiệm được $5 mỗi tháng sau khi migrate cái (Link) từ Digital Ocean sang Heroku Free Dyno. (Ảnh) Kết quả thật mĩ mãn vì hầu ...
Cẩm Huỳnh viết hơn 3 năm trước
48 26
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
11 bài viết.
1 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!