Celem tego projektu jest opracowanie aplikacji FastAPI, która stanie się podstawą dla przyszłego API chatbota. Chociaż same punkty końcowe API będą stosunkowo proste, główny nacisk w tym projekcie kładzie się na konfigurację infrastruktury, wymagającej umiejętności DevOps w celu zapewnienia skalowalności, bezpieczeństwa i automatyzacji.
Główne zadania
Konteneryzacja i wdrożenie
• Konfiguracja środowiska:
o Skonfigurować dwa oddzielne środowiska:
▪ Development/Staging: działa na porcie 8000
▪ Production: działa na porcie 443 (HTTPS)• Ciągła integracja i wdrożenie (CI/CD):
o Zrealizować pipeline CI/CD GitLab dla zautomatyzowanego wdrożenia.
o Włączyć zautomatyzowane testy do pipeline (podaj przynajmniej jeden przykład testu).
o Wdrożyć produkcyjny egzemplarz na maszynie wirtualnej (VM) w celu zapewnienia poprawnej realizacji.Baza danych i bezpieczeństwo
• Zarządzanie bazą danych:
o Podłączyć oba środowiska do bazy danych PostgreSQL działającej jako usługa Docker.• Środki bezpieczeństwa:
o Zapewnić bezpieczeństwo środowiska produkcyjnego, realizując:
▪ NGINX jako odwrotny proxy/balansujący obciążenie.
▪ HTTPS z użyciem darmowego certyfikatu SSL (np. Certbot).Mechanizm cache'owania (implementacja z użyciem Docker)
• Zrealizować cache'owanie w ramach infrastruktury Docker w celu zwiększenia wydajności API.
• Użyć Redis jako warstwy cache'owania (lub zaproponować lepszą opcję, w zależności od konkretnego przypadku użycia).Autoryzacja i testowanie
• Autoryzacja:
o Zrealizować OAuth 2.0 z użyciem Client Credentials Flow zamiast tradycyjnej autoryzacji JWT.• Testowanie:
o Skonfigurować zestaw testów jednostkowych, które będą uruchamiane w ramach pipeline CI/CD, aby zapewnić jakość i niezawodność kodu.Implementacja API
• Zgodność z przewodnikiem API:
o Postępować zgodnie z dostarczonym przewodnikiem API w celu poprawnej implementacji wymaganych punktów końcowych.• Weryfikacja Swagger UI:
o Dokumentacja Swagger UI powinna dokładnie odpowiadać oczekiwanej dokumentacji API.
Weryfikacja wykonania zadania i ocena pracy
Aby zweryfikować pomyślne wykonanie tego zadania, przeprowadzimy następujące testy:
Wdrożenie i infrastruktura:
o Sprawdzić, czy aplikacja została poprawnie wdrożona na maszynie wirtualnej (VM).
o Upewnić się, że środowiska Docker są poprawnie skonfigurowane dla Development/Staging i Production.
o Sprawdzić, czy pipeline CI/CD poprawnie automatyzuje testowanie i wdrożenie.Bezpieczeństwo i wydajność:
o Potwierdzić, że baza danych PostgreSQL jest poprawnie zintegrowana i działa jako usługa Docker.
o Sprawdzić, czy odwrotny proxy/balansujący obciążenie NGINX jest poprawnie skonfigurowany.
o Upewnić się, że HTTPS jest aktywowany i zabezpieczony za pomocą certyfikatu SSL od Certbot.
o Przetestować funkcjonalność cache'owania z użyciem Redis (lub zaproponowanej lepszej alternatywy).Funkcjonalność API i dokumentacja:
o Porównać dokumentację Swagger UI z oczekiwaną dokumentacją API.
o Sprawdzić, czy wszystkie punkty końcowe działają zgodnie z opisem w przewodniku API.
o Przeprowadzić testy integracyjne w celu potwierdzenia poprawnej implementacji autoryzacji OAuth 2.0.Testowanie i jakość kodu:
o Uruchomić zestaw testów jednostkowych, aby upewnić się, że są one pomyślnie wykonywane w ramach pipeline CI/CD.
o Przeprowadzić przegląd jakości i struktury kodu w celu zapewnienia przestrzegania najlepszych praktyk.
Dziękuję!
Załączam dokumentację API
Прикрепляю документацию по API
Załączniki 1
-
Cieszę się, że mogę powitać!
Jestem menedżerem firmy DzenKod
Nasz zespół programistów jest gotowy, aby pomóc Ci w opracowaniu projektu,
zgodnie z Twoimi wymaganiami.
W zespole mamy niezbędną ekspertyzę i zasoby.
Ocena budżetu projektu zależy od wielu czynników i wymaga dodatkowych informacji.
🟧 Czy jesteś gotowy, aby omówić projekt i format współpracy na czacie?
…
🟧 Używamy dwóch strategii organizacji zarządzania projektami - outsourcing i outstaffing
Pracujemy iteracyjnie
Stawka od $18/godzinę (według kursu NBU)
________________________________
Z poważaniem, menedżer dZENcode.
-
8773 60 0 1 Dzień dobry. Jestem gotów do wykonania.
Mam doświadczenie w tworzeniu aplikacji FastAPI.
Piszę w Pythonie, zajmuję 2. miejsce na platformie.
Opracuję aplikację, która stanie się podstawą API chatbota. Zrealizuję cały niezbędny funkcjonalność. Skonfiguruję środowisko, ciągłą integrację i wdrożenie CI/CD. Zrealizuję mechanizm cache'owania (Docker). Zapewnię niezawodną ochronę danych. Zrealizuję OAuth 2.0. Przeprowadzę pełne testy. Dostarczę niezbędną dokumentację. Optymalizuję.
Moje portfolio:Freelancehunt
Pisz, omówimy szczegóły i przystąpię do pracy.
-
А документацию по API можно увидеть?
-
Aktualne zlecenia dla freelancerów w kategorii Python
Opracowanie oprogramowania do zarządzania iPhone'em przez kabel USB z komputera PC
842 PLN
Należy opracować program dla systemu Windows, który umożliwia podłączenie iPhone'a z jailbreak przez kabel USB i zarządzanie nim z komputera.Główne funkcje:Podłączenie iPhone'a przez USB. Program powinien szybko rozpoznawać podłączonego iPhone'a i działać przez kabel, aby… C i C++, Python ∙ 13 godzin 3 minuty temu ∙ 13 ofert |
BuzzPost automatyzacja Facebooka pod IzraelProjekt już istnieje i działa - zadanie polega na rozwiązaniu problemu z ograniczeniem na Facebooku, gdy liczba postów na godzinę przekracza 3-4 (od 7 rano do 12 w nocy) konta klientów są ograniczane przez Facebooka. Strona - https://buzzpost.co.il/ Również poszukać luk w… Python, Praca z klientami ∙ 1 dzień 9 godzin temu ∙ 12 ofert |
Stworzenie farmy TikTok z generowaniem dochodu
2274 PLN
W poszukiwaniu osoby, która może napisać oprogramowanie dla farmy TikTok, abyśmy mogli generować ruch i uzyskiwać dochody. Szukamy gotowego rozwiązania z pełnym cyklem. Python, Tworzenie chatbota ∙ 4 dni 4 godziny temu ∙ 16 ofert |
Platforma komentowania AI dla TikTok i Instagram.Cel projektuOpracować system, który pozwala zarządzać dużą liczbą kont TikTok i Instagram oraz automatycznie publikować odpowiednie komentarze pod wybranymi filmami z wykorzystaniem AI.Podstawowa funkcjonalność1. Zarządzanie kontamiNależy wdrożyć możliwość podłączenia… AI i uczenie maszynowe, Python ∙ 5 dni 11 godzin temu ∙ 23 oferty |
Zbudować model klasyfikacji klientów1. Są dane klientów w Mongo/SQL (około 20 000 zapisów z surowymi danymi). 2. Należy na ich podstawie zbudować cechy i model klasyfikacji klientów na grupy behawioralne. 3. Projekt wykonać w Pythonie. AI i uczenie maszynowe, Python ∙ 7 dni 5 godzin temu ∙ 46 ofert |