ClassIS
ClassIS即Class Information Service,班級信息服務
- 採用前後端分離的開發模式
- 後端使用Flask框架,提供一些Restful風格的API接口
- 前端使用React框架,並結合mobx進行狀態管理、選用antd作爲UI組件庫、使用axios實現Ajax
- 提供班級通知、作業管理、班費管理、教材訂購、隨堂講義、文件管理、在線交流等功能
- 界面見 wiki
項目背景
解決當前處理班級事務所面臨的問題,爲班級中信息的有效分發、獲取、處理、共享等提供便利。
安裝
1. 數據庫
①安裝MySQL和Redis
②運行數據庫服務
③創建數據庫並授予用戶權限
2. 前端程序編譯及部署
①安裝npm (6.1.0以上版本)
②進入到frontend/
npm i
npm run build
③將編譯後目錄frontend/dist/ 下的index.html和js文件放到服務器項目路徑下
3. 後端程序打包及部署
①安裝python (3.5.0以上版本) 虛擬環境
②進入到backend/
執行python setup.py sdist --formats=gztar 打包
③到服務器項目路徑下安裝 ClassIS 依賴到的包
pip install -r requirements
④安裝ClassIS
pip install ClassIS*.tar.gz
⑤參考 operations/env 配置系統環境
⑥實現數據庫遷移
創建遷移倉庫 python manage.py db init
創建遷移腳本 python manage.py db migrate
將遷移應用到數據庫 python manage.py db upgrade
⑦通過uwsgi或直接通過manage.py啓動程序
⑧operations/autosync.py在本地運行,用於將同步指定目錄下的文件同步到服務器(可選),使用時需要修改autosync.py裏的同步口令SYNC_TOKEN
4. 配置Nginx並運行
5. 完成
使用
使用瀏覽器訪問網站即可使用
參與貢獻方式
Open an issue or submit PRs.
開源協議
LGPL © SRE312
Project GitHub