Skip to content

ivayanc/hackath0n8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Хелпарик

Найзручніший сервіс для взаємодії людей з волонтерами

Основний функціонал

Телеграм бот

Для створення запитів до волонтерів, люди можуть користуватися телеграм ботом

Реєстрація

image

Створення запиту

Вибір категорії допомоги image Опис запиту image Результат створення image

Бот доступний для тестування @helparyk_bot

Основна ідея для використання телеграм бота, як основної можливості для роботи з людьми:

  1. Доступність
  2. Простота використання

Веб-версія для волонтерів

Авторизація

image

Зручний дашборд

image Можливості дашборда:

  1. Збирає для волонтерів зручну статистику за кількістю створених, взятих в опрацювання та закінчених запитів
  2. Дозволяє проаналізувати тенденцію запитів за категоріями
  3. Надає можливість переглядати кількість нових запитів за останній тиждень

Нові запити

image image Можливість для перегляду нових запитів та взяття їх в роботу Після взяття в опрацювання, людині, що створила запит, приходить оповіщення в бота
image

Мої запити

image image image Можливість для перегляду своїх запитів і їх обробки Після закінчення запиту, людині приходить оповіщення в телеграм і вона отримує змогу створити новий запит
image

Можливість повної кастомізації

image

Особистий профіль волонтера

image

Тестування

Застосунок доступний для тестування за посиланням
Дані від тестового аккаунта:
Email: [email protected]
Password: password

Технічна сторона

Локальний запуск

Для локального запуску сервісів, потрібно:

  1. Спулити репозиторій
  2. Створити .env файли в backend, frontend, bot репозиторіях
  3. Виконати команду docker-compose build
  4. Виконати команду docker-compose up -d
  5. Створити бази данних для системи:
    1. docker-compose exec db psql -U postgres
    2. CREATE ROLE db_username WITH LOGIN SUPERUSER PASSWORD 'password';
    3. CREATE DATABASE bot_db;
    4. CREATE DATABASE backend_db;
    Усі дані для бази, як в .env
  6. Виконати команду docker-compose up -d/li>
Локальний екземпляр, має запрацювати успішно

Використані технології

Backend

Python, fastapi, postgresql, sqlalchemy, alembic, redis

Frontend

Typescript, Next.js, React, PrimeReact Sakai

Telegram bot

aiogram, celery, redis, sqlalchemy, alembic

Основні моменти взаємодії

Backend + Frontend

Взаємодія між бекендом та фронтедном задопомогою REST API

Backend + telegram bot

Після створення запиту, telegram bot відправляє запит до backend по REST API Для отримання оновлення стосовно запитів використовується redis pubsub:
Backend пушить оновлення в канал
Телеграм бот отримує оновлення і запускає celery таску для оновлення