Проект предназначен для управления инфраструктурой сбора нформации из различных Telegram-каналов, сохранения накопленных данных и их последующего анализа.
Пользователь имеет возможность регистрировать собственные Telegram-аккаунты, от имени которых будет происходить сбор данных, подписывать эти аккаунты на конкретные каналы и просматривать собранную информацию.
- Backend - python:Fastapi
- Fronted - VueJs2:Vuetify
- Websockets - python:Fastapi
- Взаимодействие между сервисами - grpc
- Постоянные данные, необходимые для авторизации, хранятся в Postgres.
- В качестве хранилища собираемой информации используется Elasticsearch.
- Для хранения фотографий и видеозаписей используется объектное хранилище Minio.
- В корне запускаем
docker-compose up es postgres redis minio
- В
back/app/config
изменяемexample.yml
наconfig.yml
со своими данными для postgres - В
back/
создаем окружениеpython3.9 -m venv venv
и активируем его - Ставим dev зависимости
python3.9 -m pip install -r dev_requirements.txt
- Переходим в
back/app/
и проводим миграции./init_project.sh
- Запускаем приложение
uvicorn serve:app --host 0.0.0.0 --port 8000
- Без сбилженного фронта
http://127.0.0.1:8000/
будет выдавать ошибку
- В корне запускаем
docker-compose up es postgres redis minio
- В
back/app/config
изменяемexample.yml
наconfig.yml
со своими данными для postgres - В
back/
создаем окружениеpython3.9 -m venv venv
и активируем его - Ставим dev зависимости
python3.9 -m pip install -r dev_requirements.txt
- Переходим в
back/app/
и проводим миграции./init_project.sh
- Запускаем приложение
celery -A worker.celery worker -l info
- Переходим во
front/
, устанавливаем зависимостиnpm install
- Билдим фронтенд в django
npm run build
- Приложение билдится в директории
back/app/index/static/
иback/app/index/templates/
и становится доступно с backend'а по адресу
- Переходим в
websockets/
, создаем окружениеpython3.9 -m venv venv
и активируем его - Ставим зависимости
python3.9 -m pip install -r requirements.txt
- Переходим в
websockets/app/
, запускаем сервисuvicorn serve:app --host 0.0.0.0 --port 8001
- Можно запустить через
docker-compose up sockets
- Запускаем
docker-compose up kibana
- Идем по адресу
- Наслаждаемся доступом ко всем собранным данным в индексе
posts
- Запускаем
docker-compose up kibana
- Идем по адресу
- Заходим под
user
-password
- Наслаждаемся доступом ко всем собранным файлам