Proste API do zarządzania inwentarzem biurowym, oparte na FastAPI. Aplikacja pozwala na dodawanie nowych przedmiotów do bazy danych na podstawie przesłanego zdjęcia.
Głównym celem tego projektu jest automatyzacja procesu dodawania przedmiotów do inwentarza. Użytkownik wysyła zdjęcie, a aplikacja:
- Wysyła plik na Dysk Google.
- Analizuje zdjęcie przy użyciu modelu AI w celu rozpoznania przedmiotu (funkcja w trakcie rozwoju).
- Zapisuje nowy przedmiot w bazie danych SQLite.
Aby uruchomić projekt lokalnie, postępuj zgodnie z poniższymi krokami.
- Python 3.8+
- Konto Google i utworzony projekt w Google Cloud Console z poświadczeniami dla konta serwisowego.
-
Sklonuj repozytorium:
git clone https://github.com/TwojaNazwa/NazwaRepozytorium.git cd NazwaRepozytorium -
Stwórz i aktywuj środowisko wirtualne:
python3 -m venv venv source venv/bin/activate -
Zainstaluj zależności:
pip install -r requirements.txt
(Uwaga: Plik
requirements.txtnależy wygenerować. Mogę w tym pomóc.) -
Skonfiguruj poświadczenia Google:
- Pobierz plik
credentials.jsonze swojego projektu w Google Cloud. - Umieść go w głównym folderze projektu.
- Udostępnij folder na Dysku Google dla adresu e-mail konta serwisowego (znajdziesz go w
credentials.json).
- Pobierz plik
-
Ustaw zmienną środowiskową: W terminalu ustaw ID folderu na Dysku Google, do którego mają trafiać pliki.
export GOOGLE_DRIVE_FOLDER_ID="TWOJE_ID_FOLDERU"
-
Uruchom serwer API:
uvicorn main:app --reload
Aplikacja będzie dostępna pod adresem http://127.0.0.1:8000.
Interaktywna dokumentacja (generowana przez Swagger UI) jest dostępna pod adresem http://127.0.0.1:8000/docs.
- Endpoint:
POST /items/ - Przykład (
curl):curl -X POST -F "file=@moje_zdjecie.jpg" http://127.0.0.1:8000/items/
- Endpoint:
GET /items/ - Przykład (
curl):curl -X GET http://127.0.0.1:8000/items/
- Zastąpienie symulacji AI (
fake_analyze_image_with_llm) prawdziwą integracją z modelem wizyjnym. - Dodanie endpointu
DELETE /items/{item_id}. - Wprowadzenie testów automatycznych przy użyciu
pytest.