Skip to content

bbbama/Inventory-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages