💻Chạy ứng dụng
Các bước để có thể khởi động ứng dụng.
Last updated
Các bước để có thể khởi động ứng dụng.
Last updated
Mở ứng dụng Telegram, tìm @BotFather
, tạo mới một bot của bạn bằng lệnh /newbot
. Sau khi hoàn tất, bot sẽ trả về một chuỗi BOT_TELEGRAM_TOKEN
cho bạn.
Tiếp đến, tìm @getidsbot
, sau đó bắt đầu chat, thông tin id trả về chính là BOT_TELEGRAM_CHAT_ID
của bạn.
Hai giá trị này sẽ được sử dụng trong file config của server để gửi log về thông qua Telegram.
Truy cập firebase, tạo một project mới.
Tạo một web app mới, sau đó trong phần Project Setting, chọn mục Service Accounts. Nhấn chọn Generate new private key -> Create key. Một file config json sẽ được tải xuống máy của bạn. Để dễ quản lý, hãy đổi tên file thành firebase.json
. File này sẽ được dùng cho phía Server truy cập vào Firebase.
Tiếp đến trong tab General, kéo xuống cuối và lưu lại các thông tin config. Các thông tin này sẽ được dùng cho phía Client truy cập vào Firebase.
Trong phần Build bên sidebar, chọn và bật mục Authentication, chọn tab Sign-in Method và bật dịch vụ đăng nhập với Google.
Tiếp đến, vào Build và bật Realtime Database, copy Reference URL của database. Đây sẽ là FIREBASE_DATABASE_URL của phía client dùng cho việc quản lí realtime người dùng đang đăng nhập.
Khởi động Docker tương ứng với hệ điều hành của bạn (sử dụng cmd đối với Linux hoặc Docker Desktop đối với Windows, MacOS).
Nếu có lỗi khi khởi động, hãy xem lại bước cài đặt Docker.
Đảm bảo Docker đã được chạy trước đó, chạy câu lệnh bên dưới để cài đặt RabbitMQ qua Docker:
Truy cập vào localhost:15672
để vào giao diện đăng nhập, sử dụng tài khoản default là guest:guest
để đăng nhập:
Tiếp đến, Mở MongoDB Compass, kết nối và tạo mới một colllection, sao chép chuỗi kết nối mongoDB. Chuỗi kết nối thường có dạng mongodb://localhost:27017/<mydb>
Trong folder server sẽ có tổng cộng 6 folder chính: gateway, common, user, exercise, compiler, logging. Trong từng folder tạo một file .env tương ứng để lưu biến môi trường
Trong thư mục gateway và user, di chuyển file firebase.json
lúc nãy vào. Thư mục sẽ có cấu trúc như sau:
Ở 6 folder, Chạy lệnh npm install
ở từng folder để tải xuống các thư viện.
Cuối cùng npm run dev
để khởi chạy service, dòng lệnh thông báo trả ra có dạng như sau:
Tiếp tục khởi động thêm 5 service còn lại tương tự.
Nếu muốn các log lỗi gửi về Telegram hãy dùng câu lệnh npm run prod
thay vì npm start
. Trong môi trường dev, thay vì gửi log lỗi, chúng sẽ được hiện ra ở giao diện console.
Vào thư mục client của dự án, thêm file .env.local
vào thư mục gốc với các nội dung sau:
Ở thư mục gốc client, dùng lệnh npm install
để tải xuống các thư viện
Cuối cùng dùng lệnh npm run dev
để khởi động client, thông báo trả về sẽ có dạng như sau:
Đến đây, hệ thống đã có thể khởi chạy. Nhưng để quản lý các thông tin, cần có một user có quyền ADMIN. Truy cập vào hệ thống qua http://localhost:5173
sau đó đăng nhập bằng tài khoản Google vào ứng dụng.
Dùng MongoDB Compass vào collection User, thay đổi role của người dùng thành ADMIN. Sau khi đăng nhập lại bạn sẽ thấy được phần quản lý của ADMIN bên sidebar.
Tuyệt! Vậy là ứng dụng đã có thể chạy một cách hoàn chỉnh. Hướng dẫn sử dụng các tính năng sẽ được cập nhật trong tương lai, hãy chờ đón nhé!