Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickInventory API

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.

Python 3.8+ FastAPI License: MIT


O Projekcie

Głównym celem tego projektu jest automatyzacja procesu dodawania przedmiotów do inwentarza. Użytkownik wysyła zdjęcie, a aplikacja:

  1. Wysyła plik na Dysk Google.
  2. Analizuje zdjęcie przy użyciu modelu AI w celu rozpoznania przedmiotu (funkcja w trakcie rozwoju).
  3. Zapisuje nowy przedmiot w bazie danych SQLite.

Pierwsze Kroki

Aby uruchomić projekt lokalnie, postępuj zgodnie z poniższymi krokami.

Wymagania

  • Python 3.8+
  • Konto Google i utworzony projekt w Google Cloud Console z poświadczeniami dla konta serwisowego.

Instalacja

  1. Sklonuj repozytorium:

    git clone https://github.com/TwojaNazwa/NazwaRepozytorium.git
    cd NazwaRepozytorium
  2. Stwórz i aktywuj środowisko wirtualne:

    python3 -m venv venv
    source venv/bin/activate
  3. Zainstaluj zależności:

    pip install -r requirements.txt

    (Uwaga: Plik requirements.txt należy wygenerować. Mogę w tym pomóc.)

  4. Skonfiguruj poświadczenia Google:

    • Pobierz plik credentials.json ze 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).

Uruchomienie

  1. 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"
  2. Uruchom serwer API:

    uvicorn main:app --reload

    Aplikacja będzie dostępna pod adresem http://127.0.0.1:8000.


Użycie API

Interaktywna dokumentacja (generowana przez Swagger UI) jest dostępna pod adresem http://127.0.0.1:8000/docs.

Dodawanie nowego przedmiotu

  • Endpoint: POST /items/
  • Przykład (curl):
    curl -X POST -F "file=@moje_zdjecie.jpg" http://127.0.0.1:8000/items/

Listowanie wszystkich przedmiotów

  • Endpoint: GET /items/
  • Przykład (curl):
    curl -X GET http://127.0.0.1:8000/items/

Dalszy Rozwój

  • 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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages