Cradlex is an asynchronous ERP Telegram bot for small builder groups.
- Python >= 3.9
- PostgreSQL >= 13 - relational database management system
- AIOGram - asynchronous Python framework for Telegram Bot API
- asyncpg - asynchronous PostgreSQL database client library for Python
- SQLAlchemy - SQL toolkit and Object Relational Mapper for Python
- Alembic - database migration tool for usage with the SQLAlchemy
- Clone the repository:
git clone https://github.com/fincubator/cradlex
cd cradlex- Create environment file from example:
cp .env.example .env- Personalize configuration by modifying
.env. - Create a new Telegram bot by talking to @BotFather and get its API token.
- Create a file containing Telegram bot's API token with filename specified in
TOKEN_FILENAMEfrom.env. - Create a file containing database password with filename specified in
DATABASE_PASSWORD_FILENAMEfrom.env. - Install Docker Compose >= 1.26.0.
- Start container:
docker-compose up --build- Clone the repository:
git clone https://github.com/fincubator/cradlex
cd cradlex- Install Python with pip.
- Install requirements:
pip install -r requirements.txt- Compile translations:
pybabel compile -d locale/ -D bot- Create environment file from example:
cp .env.example .env- Personalize configuration by modifying
.env. - Create a new Telegram bot by talking to @BotFather and get its API token.
- Create a file containing Telegram bot's API token with filename specified in
TOKEN_FILENAMEfrom.env. - Create a file containing database password with filename specified in
DATABASE_PASSWORD_FILENAMEfrom.env. - Install and start PostgreSQL server.
- Create a role with name specified in
DATABASE_USERNAMEfrom.envand password specified inDATABASE_PASSWORDfrom.env. - Set environment variables:
export $(sed 's/#.*//' .env | xargs)- Launch Cradlex:
python -m cradlexYou can help by working on opened issues, fixing bugs, creating new features or improving documentation.
Before contributing, please read CONTRIBUTING.md first.
Cradlex is released under the GNU Affero General Public License v3.0. See LICENSE for the full licensing condition.