Skip to content

dath-241/coin-price-be-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Coin-price-be-go – GVHD: Thầy Lê Đình Thuận

1. Giới thiệu dự án

Coin-price-be-go là hệ thống backend với chức năng chính là hỗ trợ người dùng việc theo dõi thông tin thị trường tiền điện tử (giá spot, future, kline,...), tạo các trigger thông báo biến động về giá sử dụng các API từ Binance, CoinMarketCap, CoinGecko.

2. Giới thiệu nhóm

Tên nhóm: Nhóm Ngọc Hiền Danh sách thành viên: 7 thành viên

MSSV Họ tên Role Github Nhiệm vụ
2211024 Lê Ngọc Hiền PO HienLe2004, LeHien6601 Tổ chức họp, đánh giá tiến độ, xây dựng cấu trúc dự án, phân chia công việc, hiện thực CI/CD
2211101 Nguyễn Thanh Hoàng Dev NTHKiris Hiện thực các API về alerts và viết unit test, API doc kèm theo
2210768 Nguyễn Văn Đoàn Dev DoanJackson, anhchienne Hiện thực các API về coin-price và viết unit test, API doc kèm theo
2211144 Nguyễn Trịnh Ngọc Huân Dev huannguyen2114 Hiện thực các API về coin-price và viết unit test, API doc kèm theo
2212962 Trần Quang Tác Dev tacsquang Hiện thực các API về admin, auth, user, payment và viết unit test, API doc kèm theo
2210871 Quách Khải Hào Dev quachkhaihao Hiện thực các API về alerts và viết unit test, API doc kèm theo
2212922 Nguyễn Quang Sáng Dev Sangquangnqs, millerbright Hiện thực các API về admin, auth, user, payment và viết unit test, API doc kèm theo

3. Công nghệ sử dụng

Công nghệ Mô tả
Golang Ngôn ngữ phát triển hệ thống backend với hiệu năng cao, hỗ trợ tốt cho xây dựng hệ thống phân tán và microservices
Gin Framework của Go, giúp xây dựng các API RESTful nhẹ nhàng và nhanh chóng
Swaggo Tạo tài liệu cho API tự động và hỗ trợ tương tác giúp cho developer dễ dàng hiểu để sử dụng API
Git, GitHub Quản lý phiên bản code, hỗ trợ các chức năng cho cộng tác như pull request, issue tracking, CI/CD
Docker, DockerHub, DockerCompose Công cụ container hóa ứng dụng, xây dựng, lưu trữ các image, định nghĩa và khởi chạy đa container
Mailjet Dịch vụ hỗ trợ gửi email xác nhận, thông báo đến người dùng
MongoDB Cơ sở dữ liệu NoSQL linh hoạt cho việc lưu trữ thông tin người dùng, các trigger, lịch sử thanh toán,...
MomoAPI API của ví điện tử MOMO để tích hợp tính năng thanh toán để nâng cấp VIP vào hệ thống
BinanceAPI, CoinGecko, CoinMarketCap API hỗ trợ lấy dữ liệu thị trường giao dịch tiên ảo realtime
Testify Framework testing của Go hỗ trợ viết unit tests đơn giản và hiệu quả

4. Tài liệu về System Requirement Specification (SRS)

Sử dụng chung SRS với nhóm coin-price-web: link

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

Link SwaggerUI cho API doc (link)

Các demo chạy chức năng auth, admin, user, payment, demo trigger, demo coin_price

5.1. Authentication

Cung cấp các chức năng chính cho người dùng về xác thực như: đăng ký, đăng nhập, đăng nhập bằng google, quên mật khẩu, đổi mật khẩu, đăng xuất, làm mới token. Chi tiết

5.2. Admin

Cung cấp các chức năng chính cho admin như: lấy danh sách người dùng, lấy thông tin người dùng, xóa người dùng, cấm người dùng, bỏ cấm người dùng, lấy lịch sử thanh toán của người dùng và của hệ thống. Chi tiết

5.3. User

Cung cấp các chức năng chính cho người dùng liên quan đến dữ liệu người dùng như: lấy thống tin người dùng, cập nhật thông tin người dùng, xóa tài khoản người dùng, đổi mật khẩu người dùng, đổi email người dùng, lấy lịch sử thanh toán, lấy danh sách các trigger của người dùng, gửi thông báo trigger đến email người dùng. Chi tiết

5.4. Coin price

Cung cấp các chức năng chính cho người dùng lấy dữ liệu thị trường tiền ảo: lấy giá spot realtime, lấy giá future realtime, lấy funding rate realtime, lấy kline, lấy marketcap,... Chi tiết

5.5. Trigger

Cung cấp các chức năng chính cho người dùng về thiết lập các trigger: tạo trigger, lấy trigger, xóa trigger, lấy danh sách new/delisted symbol, tạo trigger cho new/delisted symbol, khởi chạy trigger, dừng trigger, tạo trigger cho advanced indicators,... Chi tiết

5.6. Payment

Cung cấp các chức năng chính cho người dùng về thanh toán: khởi tạo thanh toán nâng cấp VIP qua Momo, gọi thanh toán qua Momo, kiểm tra trạng thái thanh toán qua Momo, xác nhận thanh toán và nâng cấp VIP qua Momo. Chi tiết

6. Cấu trúc các nhánh trên hệ thống

6.1. Cấu trúc nhánh main

.
├── /reports # Các meeing minutues và đánh giá hàng tuần của nhóm
├── /docs # Các mô tả chi tiết về các chức năng chính của hệ thống
├── /backend # Mã nguồn chính của dự án
└── README.md # File mô tả chính về hệ thống

6.2. Cấu trúc nhánh develop

.
├── /.github
│   └── /workflows 
│       └── dev.yml # CI/CD cho nhánh develop
├── /backend # Mã nguồn chính của dự án
└── README.md # File mô tả phân công công việc

6.3. Cấu trúc nhánh production

.
├── /.github
│   └── /workflows 
│       └── production.yml # CI/CD cho nhánh production
└── docker-compose.yml # File cấu hình docker-compose cho VPS khi chạy 

7. Tham khảo thêm

Các issue

Các demo auth, admin, user, payment, demo trigger, demo coin_price