CTMS+ là một phiên bản được thay áo mới của CTMS với giao diện thân thiện hơn với người dùng. Toàn bộ dữ liệu hiển thị trong CTMS+ được lấy trực tiếp từ CTMS
CTMS+ là dự án phi lợi nhuận, không hề liên quan và không được hỗ trợ bởi OTSC hoặc các bên liên quan khác
CTMS+ hiện đang chạy trên các host sau:
- Netlify: https://ctmsplus.netlify.com
- Vercel: https://ctmsplus.vercel.app
- Github Pages: https://Belikhun.github.io/ctms-plus/
Cross-origin resource sharing (Chia sẻ tài nguyên nguồn gốc chéo) là một cơ chế có sẵn trên mỗi trình duyệt dùng để kiếm soát các request khi gửi chúng tới một tên miền khác. Tuy nhiên, mọi response từ CTMS đều không có đặt header này, vì vậy trình duyệt sẽ chặn toàn bộ request đi tới CTMS dẫn tới CTMS+ không thể trực tiếp lấy dữ liệu từ CTMS. Đây chính là lí do mà Middleware được sử dụng. Middleware sẽ có nhiệm vụ lấy dữ liệu từ CTMS và trả về nó cho CTMS+ để có thể xử lí mà vẫn thỏa mãn CORS của trình duyệt.
Mã nguồn của middleware có thể tìm thấy tại Belikhun/ctms-plus-middleware
hoặc Belikhun/ctms-plus-middleware-node
.
Repo này chứa mã nguồn của CTMS+
và middleware API
được sử dụng để phục vụ cho CTMS+
, bao gồm 3 nhánh chính:
- 🌿 Branch
main
: Chứa mã nguồn củaCTMS+
. Mọi pull request sẽ được thực hiện tới branch này. Thay đổi trong branch này sẽ tự động chạy build của Github Action và merge vào branchproduction
- 🔮 Branch
production
: Chứa mã nguồn đã được thay đổi để phù hợp cho việc deploy site tới một host nào đó - 🌿 Branch khác: Chứa mã nguồn với các tính năng đang trong thời gian hoàn thiện, các commit sẽ được thực hiện tại đây trước khi được nhập vào
main
Repo này có chứa submodule, vì vậy bạn sẽ phải thực hiện clone đệ quy để tải toàn bộ code:
git clone --recursive https://github.com/Belikhun/ctms-plus.git
Để lấy update từ remote về máy, sử dụng:
git pull --recurse-submodules
Để chạy, bạn chỉ cần khởi động một máy chủ HTTP đơn giản tại thư mục gốc của project:
#? Using Python
py -m SimpleHTTPServer 8001
# or
python3 -m SimpleHTTPServer 8001
#? Using PHP
php -S localhost:8001
Hoặc sử dụng Live Server Extension trong VSCode để nhanh chóng khởi động máy chủ web.
Sau khi khởi động, đi tới http://locahost:8001 để mở trang web.
CTMS+ đang sử dụng một testing framework để đảm bảo mọi thứ hoạt động trước khi lên production. How does it look like?
Bạn có thể truy cập vào /tests
trên máy của bạn để đi đến trang test, hoặc chạy test ở chế độ headless bằng cách chạy py tests/tests.py
tại thư mục gốc của project.
Toàn bộ code trước khi đưa vào 🌿 main
đều phải qua bộ test này.
Mọi đóng góp về code, test, ý tưởng hoặc góp ý đều được chào mừng!
Nếu bạn có một ý tưởng, một tính năng mà bạn muốn thấy trong tương lai, hoặc gặp một lỗi nào đó khi dùng phần mềm, bạn có thể gửi nó bằng cách tạo một Bug Report/Feature Request trong tab Issues của repo này.
Nếu bạn muốn ủng hộ bằng cách viết code, hãy chắc chắn rằng bạn đã đọc qua Contributing Guidelines trước khi submit một pull request.