CAE管理软件
项目描述
为CAE(活动和就业合作)以及独立企业家集体设计的管理软件。
许可证
这是一个自由软件,有关访问、使用、复制和操作的条件,请参阅LICENSE.txt
新功能/异常
官方网站: http://endi.coop
大部分开发工作是由Coopérer pour entreprendre资助完成的。如果您想了解更多信息,或者需要托管服务,您可以联系他们info@cooperer.coop
如果您遇到错误,或者有功能建议,可以直接向开发者报告,或者使用GitLab(framagit)的票务系统。例外:对于安全错误,请向您的管理员发送电子邮件。
软件安装说明(生产环境)
安装软件包(在虚拟环境中安装所需的步骤)
在Debian/Ubuntu上
注意:为了使用适合的nodejs版本,我们使用nodesource仓库。如果您不想这样做,可以选择使用docker-compose来编译javascript(见:https://caerp.readthedocs.io/fr/latest/javascript/build_docker.html)
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - &&\
apt install virtualenvwrapper libmariadb-dev libmariadb-dev-compat npm build-essential libjpeg-dev libfreetype6 libfreetype6-dev libssl-dev libxml2-dev zlib1g-dev python3-mysqldb redis-server libxslt1-dev python3-pip fonts-open-sans libcairo2 libglib2.0-dev libpango1.0-0 libgdk-pixbuf-2.0-0
在Fedora下
dnf install virtualenvwrapper mardiadb-devel python-devel libxslt-devel libxml2-devel libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel gcc redis-server open-sans-fonts
下载应用程序
git clone https://framagit.org/caerp/caerp.git
cd caerp
下载JS依赖(需要nodejs >= 16.x)
npm --prefix js_sources install
npm --prefix vue_sources install
编译JS代码
make prodjs devjs
make prodjs2 devjs2
创建Python虚拟环境。
cd caerp
mkvirtualenv caerp -p python3 -r requirements.txt
安装应用程序
python setup.py install
cp development.ini.sample development.ini
编辑development.ini文件并配置您的软件(访问数据库,不同的静态资源目录……)。
初始化数据库
caerp-admin development.ini syncdb
如果您使用的是使用其他数据库的第三方包(例如生产模式下的caerp_payment)
caerp-migrate app.ini syncdb --pkg=caerp_payment
然后创建管理员账户
caerp-admin development.ini useradd [--user=<user>] [--pwd=<password>] [--firstname=<firstname>] [--lastname=<lastname>] [--group=<group>] [--email=<email>]
注意:对于管理员,请指定
--group=admin
安装(在开发环境中)
安装系统依赖(根据您的操作系统,参考生产环境安装部分中的apt或dnf行)。
然后,使用以下命令安装您的CAERP开发版本
sudo apt install […] (idem à la section concernant la prod)
git clone https://framagit.org/caerp/caerp.git
cd caerp
cp development.ini.sample development.ini
make postupgrade_dev
您可以使用以下命令加载一个完整的演示数据库(如果存在,将覆盖您的caerp BDD):
caerp-load-demo-data development.ini
caerp-migrate development.ini upgrade
对于具有不兼容Python版本的发行版
目前,CAErp不支持Python > 3.10版本,因此可以通过pyenv安装项目支持的Python版本
$ curl https://pyenv.run | bash
遵循说明后,可以初始化一个环境(例如使用python 3.9)
$ cd workspace/caerp
$ pyenv local 3.9
$ pyenv virtualenv caerp
$ pyenv activate caerp
(caerp) $ pip install -e .[dev]
异步任务执行
一个基于celery和redis的异步任务服务负责执行最耗时的任务。
更新(在生产环境中)
CAERP的更新分为几个步骤(在运行以下命令之前,最好先备份您的数据)
更新Python依赖和版本号
pip install .
更新数据结构
caerp-migrate app.ini upgrade
如果您使用的是使用其他数据库的第三方包(例如生产模式下的caerp_payment)
caerp-migrate app.ini upgrade --pkg=caerp_payment
在数据库中配置默认数据
caerp-admin app.ini syncdb
更新JS依赖
npm --prefix js_sources install
编译JavaScript
make prodjs
然后启动Web应用程序
pserve --reload development.ini
更新/更改分支(开发环境)
以下说明应在更新到所需git分支后遵循。它们无风险:最坏的情况是,如果一切都已经更新,它们将不会做任何事情。
以下命令应处理一切
make postupgrade_dev
Python编码标准
CAERP代码必须按照pep8进行格式化。
为此,建议使用代码分析器如flake8。
此外,为了确保代码格式的统一性,建议在开发过程中使用代码格式化工具black。
它可以在您的编辑器级别配置(最舒适的方式)和/或预提交。
还可以手动在项目上运行black
make black
(如果您在本地没有使用black,持续集成会提醒您 😁)
使用docker-compose的数据库(MariaDB + redis)
为了在一个可投递且可复制的docker容器中托管,而不触及主机机器,一个docker-compose配置可用。
要安装环境(第一次)
sudo apt install docker-compose
sudo usermod -a -G docker $USER
要使用它,提供了一些快捷方式
# Faire tourner une BDD que l'on stoppera avec ctrl+c
make dev_db_serve
# Démarrer une BDD
make dev_db_start
# Arêtter une BDD démarrée avec la commande précédente
make dev_db_stop
# Effacer les données de la BDD de dév
make dev_db_clear
适应docker-compose的配置在test.ini.sample和developement.ini.sample中有注释。
使用docker compose动态编译资产(JS/CSS)
仅编译js文件
docker compose -f js-docker-compose.yaml up
编译css文件
docker compose -f css-docker-compose.yaml up
测试
复制并自定义配置文件
cp test.ini.sample test.ini
运行测试
py.test caerp/tests
用户文档
使用说明指南位于此地址:https://doc.endi.coop
- 此项目使用以下工具进行测试::