Cele i zadania projektu
Celem projektu jest zautomatyzowanie procesów instalacji wielu botów (adminów), zarządzanie ich hostowaniem oraz wsparcie dodatkowych funkcji i aktualizacji. Pozwoli to użytkownikom efektywnie zarządzać swoimi botami i zapewnić ich działanie na platformie Buck Creator.
Opis systemu
System powinien wykonywać następujące funkcje podczas zakupu wielu botów:
- Automatyczna instalacja na hostingu.
- Tworzenie bazy danych.
- Zapewnienie miesięcznej opłaty za hosting.
- Możliwość instalacji dodatkowych modułów i aktualizacji.
Wymagania funkcjonalne
Automatyczne wdrożenie na hostingu
- Podczas zakupu wielu botów system automatycznie tworzy maszynę wirtualną lub kontener na hostingu.
- Instalacja wszystkich niezbędnych zależności i oprogramowania do pracy admina.
- Wdrożenie kodu wielu botów i jego konfiguracja.
Tworzenie bazy danych, również trzeba przenieść głównego bota z bazy danych mongobd na PostgreSQl
- Automatyczne tworzenie bazy danych (np. PostgreSQL) dla każdego nowego wielobota.
- Konfiguracja niezbędnych parametrów bazy danych (nazwa, użytkownik, hasło).
- Zastosowanie schematu bazy danych i początkowa konfiguracja.
Zarządzanie hostowaniem, również zmiana naszego hostingu z Heroku na nowy Vultr lub Digital Ocean
- Wsparcie miesięcznej opłaty za hosting.
- Automatyczne wyłączanie usług w przypadku braku opłaty.
- Powiadomienia użytkownika o konieczności przedłużenia hostingu.
Instalacja dodatkowych modułów i aktualizacji
- Możliwość instalacji dodatkowych modułów dla wielu botów na żądanie użytkownika.
- Aktualizacja istniejących wielu botów do nowych wersji.
- Powiadomienia użytkownika o dostępnych aktualizacjach i modułach.
Integracja i współpraca
- Integracja z systemem płatności w celu automatycznego rozpoczęcia procesu po potwierdzeniu płatności.
- Powiadomienie użytkownika o zakończeniu procesu instalacji i udostępnienie dostępu do wielu botów i bazy danych.
Wymagania niefunkcjonalne
Wydajność
- Proces wdrożenia i konfiguracji nie powinien trwać dłużej niż 10 minut.
Niezawodność
- System powinien być odporny na awarie i zapewniać poprawne wykonanie wszystkich operacji.
- Logowanie wszystkich kroków procesu w celu dalszej analizy i usuwania usterek.
Bezpieczeństwo
- Zapewnienie bezpieczeństwa danych użytkowników i ochrona przed nieautoryzowanym dostępem.
- Szyfrowanie wszystkich danych przesyłanych między komponentami systemu.
Elastyczność
- System powinien obsługiwać skalowanie w celu jednoczesnego wdrożenia wielu botów.
Wymagania techniczne
Platforma
- Rozwój powinien być wykonany przy użyciu Pythona.
- Wykorzystanie technologii kontenerowych, takich jak Docker, do wdrożenia wielu botów.
- Baza danych PostgreSQL do przechowywania danych wielu botów.
Integracja
- Współpraca z systemem płatności poprzez interfejs API.
- Integracja z platformą hostingu poprzez interfejs API w celu automatycznego wdrożenia i zarządzania.
Wymagania dotyczące interfejsu
Interfejs użytkownika
- Powiadomienia o stanie wdrożenia i konfiguracji wielu botów, dostosowanie bota do nowych czatów lub kanałów.
- Interfejs w panelu admina do zarządzania subskrypcją hostingu oraz instalacji dodatkowych modułów i aktualizacji.
Nie wiem, ile to będzie kosztować i ile czasu będzie potrzebne, nie mamy pośpiechu, możemy poczekać, dostarczymy kod bota i wszystko, co jest potrzebne do pracy, po wykonaniu pracy przeprowadzimy testy.