Website phục vụ công tác cứu hộ, cứu nạn theo mô hình crowdsource (huy động sức lực của cộng đồng để vận hành). Mô hình hoạt động theo nguyên tắc:
Những người ở vùng an toàn tham gia làm Tình nguyện viên thông tin (Tự thêm tên & SĐT của mình vào Danh sách Tình nguyện viên)
Các tình nguyện viên thu thập dữ liệu kêu cứu của người dân, gọi điện xác minh và cập nhật kết quả vào Danh sách Hộ dân cần ứng cứu
Các tình nguyện viên thu thập dữ liệu từ các đơn vị cứu hộ, gọi điện xác minh và cập nhật kết quả vào Danh sách Đơn vị cứu hộ
Bằng việc duy trì một nguồn thông tin đầy đủ, được cập nhật liên tục, các Tình nguyện viên giúp việc điều phối hoạt động cứu hộ, cứu nạn hiệu quả hơn. Tránh tình trạng:
Hộ gia đình đã được ứng cứu, nhưng thông tin vẫn tiếp tục được chia sẻ trên MXH, cản trở hoạt động ứng cứu các gia đình cần kíp hơn
Người dân cần ứng cứu không nắm được thông tin và tình trạng của đơn vị cứu hộ để gọi xin ứng cứu
Các đơn vị cứu hộ không nắm được mức độ và số lượng điểm cần ứng cứu tại từng khu vực địa lý (tỉnh, huyện, xã, thôn) để điều phối nguồn lực hiệu quả
Tự thêm contact của bạn vào Danh sách Tình nguyện viên
Đăng tải / Nhận xác minh các thông tin kêu cứu mà chưa có Tình nguyện viên nhận cập nhật
Đăng tải / Nhận xác minh các thông tin về các đội cứu hộ mà chưa có Tình nguyện viên nhận cập nhật
Bổ sung các dịch vụ khác mà bạn có thể hỗ trợ vào mục "Nguồn trợ giúp khác" để người gặp nạn có thể tìm đến. Một số dịch vụ hữu ích trong thiên tai là:
Tìm kiếm và tư vấn đội cứu hộ gần nhất mà người dân nên gọi đến
Nạp tiền điện thoại cho các gia đình gặp nạn để duy trì liên lạc
Chủ động cảnh báo thông tin về tình hình lũ lụt tới các điểm cần cứu hộ
Cài đặt các thư viện cần thiết (cần cài Python3.6 trở lên và Pip3 trước)
pip3 install -r requirements.txt
2. Thay đổi cấu hình database từ postgresql sang sqlite (để chạy được ở local)
- trong file project/app/settings.py, comment out config postgresql và thay bằng phần config sqlite
Cài đặt PostgreSQL và tạo database shema
PostgreSQL
Debian/Ubuntu
Update mirror
sudo apt update
Cài đặt postgresql
sudo apt install postgresql
Cài đặt postgresql-contrib (để sử dụng UnaccentExtension) nếu chưa được cài sẵn cùng postgresql ở trên
sudo apt install postgresql-contrib
Centos
Cài đặt postgresql
sudo yum install postgresql
Cài đặt postgresql-contrib
sudo yum install postgresql*contrib
Docker image: đã được cài sẵn postgres-contrib
Các hệ điều hành khác vui lòng cài đặt postgresql và postgresql-contrib theo hướng dẫn chính thức tại đây
chạy script sau để tạo lại schema
bash run_migrate.sh
Tạo tài khoản admin
bash run_create_admin.sh
Mặc định đăng nhập site bằng tài khoản admin
trong file project/app/middleware.py, thay đổi username thành username của admin đã tạo ở bước 3
Môi trường dev
Chạy webserver bằng lệnh sau:
bash run_server.sh
Mặc định site sẽ chạy ở localhost:8087
Hướng dẫn frontend development
Phần admin thì dùng css, và js thuần của thư viện. Bỏ qua phần này.
Phần home page mới sử sử dụng webpack-bundle của django để load file.
Hướng dẫn chuẩn bị môi trường dev
Bước 1:
Chạy lệnh sau để dev trên local npm run watch
Bước 2:
Chạy lệnh sau để render ra các static file của thư viện (thường thì chỉ dùng cho admin page)
./project/manage.py collectstatic --no-input
Bước 3:
Tiến hành code và dev trong thư mục project/app/static/webpack_sources
Các sources code của thư mục này sẽ được build tại thư mục project/static/webpack_bundles
Lưu ý:
Tất cả các file static (js,css,svg,image) khi muốn nhúng vào html cần follow cú pháp sau:
File này được tự động tìm trong project/app/static