Skip to content

ivalukyan/fitbase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Антифитнес

Описание

Телеграмм бот с интеграцией CRM системы Fitbase.

Стек технологий

  • Языки программирования: Python, JS, HTML&CSS
  • Фреймворки: FastAPI, Asyncio, SQLAlchemy, Alembic
  • База данных: PostgreSQL
  • Другие технологии: Git

Установка

Чтобы запустить данный проект на своем локальном компьютере, выполните следующие шаги.

  1. Скопируйте проект.
git clone https://github.com/ivalukyan/fitbase.git
  1. Перейдите в папку с проектом.
cd fitbase
  1. Если у вас не установлен Docker, то установите.

Linux

Настройка репозитория.

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Установка.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. Запуск docker-compose.
docker compose -f ./docker/docker-compose.yml up -d --build
  1. Затем для настроим базу данных. Хешируем ваш пароль. С начала установим библиотеку для хеширования.

Linux

sudo apt install python3-pip

Затем.

pip3 install bcrypt
  1. Перейдем в папку с программой.
сd src; cd utils
  1. Запустим программу.
python3 hashing.py
  1. Введем придуманный пароль для администратора. И нажмем enter, после чего получаем вот такой результат.

Пример работы программы

1.png

  1. Затем настроим базу данных. Перейдем в контейнер docker-compose БД.
docker exec -it postgres_db bash
  1. Перейдем в консоль БД. Вместо postgres укажите реальный username.
psql -U postgres -d fitbase
  1. Создадим все таблицы.
CREATE TABLE admins (
    id SERIAL PRIMARY KEY,
    username VARCHAR NOT NULL,
    phone VARCHAR NOT NULL,
    email VARCHAR,
    password VARCHAR NOT NULL,
    telegram_id BIGINT NOT NULL
);

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR NOT NULL,
    phone VARCHAR NOT NULL DEFAULT '',
    email VARCHAR,
    telegram_id BIGINT
);

CREATE TABLE standards (
    id SERIAL PRIMARY KEY,
    telegram_id BIGINT,
    username VARCHAR,
    grom VARCHAR DEFAULT '00:00',
    turkish_barbell_lifting INTEGER DEFAULT 0,
    jump_rope INTEGER DEFAULT 0,
    bench_press INTEGER DEFAULT 0,
    rod_length INTEGER DEFAULT 0,
    shuttle_run INTEGER DEFAULT 0,
    glute_bridge INTEGER DEFAULT 0,
    pull_ups INTEGER DEFAULT 0,
    cubic_jumps INTEGER DEFAULT 0,
    lifting_barbell_on_the_chest_count INTEGER DEFAULT 0,
    axel_deadlift INTEGER DEFAULT 0,
    handstand VARCHAR DEFAULT '00:00',
    classic_squat INTEGER DEFAULT 0,
    turkish_kettlebell_lifting INTEGER DEFAULT 0,
    push_ups INTEGER DEFAULT 0,
    lifting_barbell_on_the_chest_kilo INTEGER DEFAULT 0,
    walking_kettlebells INTEGER DEFAULT 0,
    deadlift INTEGER DEFAULT 0,
    long_jump INTEGER DEFAULT 0,
    barbell_jerk INTEGER DEFAULT 0,
    axel_hold VARCHAR DEFAULT '00:00',
    front_squat INTEGER DEFAULT 0
);
  1. Создадим администратора. Не забудьте поменять на свои данные.
INSERT INTO admins (username, phone, email, password, telegram_id)
VALUES ('username', '79XXXXXXXXX', '[email protected]', 'ваш хешированный пароль', 239439893);
  1. После этого можно заходить и запускать бота командой /start, администратор /admin.

Пример работы программы

2.png

3.png

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published