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_FILENAME
from.env
. - Create a file containing database password with filename specified in
DATABASE_PASSWORD_FILENAME
from.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_FILENAME
from.env
. - Create a file containing database password with filename specified in
DATABASE_PASSWORD_FILENAME
from.env
. - Install and start PostgreSQL server.
- Create a role with name specified in
DATABASE_USERNAME
from.env
and password specified inDATABASE_PASSWORD
from.env
. - Set environment variables:
export $(sed 's/#.*//' .env | xargs)
- Launch Cradlex:
python -m cradlex
You 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.