From f7826b56bd4870e70f6fdd66863254d3958735bc Mon Sep 17 00:00:00 2001 From: Orabis Date: Tue, 15 Oct 2024 00:27:59 +0200 Subject: [PATCH] starting rest api --- StockSeeker/admin.py | 0 StockSeeker/apps.py | 6 ++++++ StockSeeker/models.py | 23 +++++++++++++++++++++++ StockSeeker/settings.py | 2 ++ StockSeeker/tests.py | 1 + StockSeeker/views.py | 1 + todo.md | 25 +++++++++++++++++++++++++ 7 files changed, 58 insertions(+) create mode 100644 StockSeeker/admin.py create mode 100644 StockSeeker/apps.py create mode 100644 StockSeeker/models.py create mode 100644 StockSeeker/tests.py create mode 100644 StockSeeker/views.py create mode 100644 todo.md diff --git a/StockSeeker/admin.py b/StockSeeker/admin.py new file mode 100644 index 0000000..e69de29 diff --git a/StockSeeker/apps.py b/StockSeeker/apps.py new file mode 100644 index 0000000..537a840 --- /dev/null +++ b/StockSeeker/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class StockSeekerConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'StockSeeker' diff --git a/StockSeeker/models.py b/StockSeeker/models.py new file mode 100644 index 0000000..9111351 --- /dev/null +++ b/StockSeeker/models.py @@ -0,0 +1,23 @@ +from django.db import models + + +class Product(models.Model): + name = models.CharField(null=False, max_length=30, blank=False) + description = models.CharField(default=None, null=True, blank=True, max_length=120) + quantity = models.IntegerField(null=False, default=0, blank=False) + creation_date = models.DateTimeField(auto_now_add=True) + modification_date = models.DateTimeField(auto_now=True) + + def __str__(self): + return self.nom + + +class Alerte(models.Model): + product = models.ForeignKey("Product", on_delete=models.CASCADE, related_name="alert") + stock_limit = models.IntegerField(null=False, blank=False) + message = models.CharField(max_length=200, null=True, blank=True) + creation_date = models.DateTimeField(auto_now_add=True) + modification_date = models.DateTimeField(auto_now=True) + + def __str__(self): + return f"Alerte pour {self.product.name} - Seuil: {self.stock_limit}" diff --git a/StockSeeker/settings.py b/StockSeeker/settings.py index fba2ac1..9a7890a 100644 --- a/StockSeeker/settings.py +++ b/StockSeeker/settings.py @@ -36,6 +36,8 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'StockSeeker', + 'rest_framework', ] MIDDLEWARE = [ diff --git a/StockSeeker/tests.py b/StockSeeker/tests.py new file mode 100644 index 0000000..a39b155 --- /dev/null +++ b/StockSeeker/tests.py @@ -0,0 +1 @@ +# Create your tests here. diff --git a/StockSeeker/views.py b/StockSeeker/views.py new file mode 100644 index 0000000..60f00ef --- /dev/null +++ b/StockSeeker/views.py @@ -0,0 +1 @@ +# Create your views here. diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..7f5cfe0 --- /dev/null +++ b/todo.md @@ -0,0 +1,25 @@ +# StockSeeker + +**StockSeeker** est une application web innovante dédiée à la gestion efficace de votre stock personnel. Grâce à une +interface intuitive et des fonctionnalités pratiques, gérez facilement vos produits et optimisez votre inventaire. + +## Fonctionnalités Principales + +- **Ajout de Produits Personnalisés** + Créez des fiches produits complètes en ajoutant des informations telles que le prix, le poids, des images, et la + quantité disponible. + +- **Suppression de Produits** + Supprimez facilement les produits dont vous n'avez plus besoin pour garder votre inventaire à jour. + +- **Mise à Jour du Stock** + Ajustez le stock de vos produits existants en ajoutant ou en déduisant des quantités selon vos ventes et vos besoins. + +- **Affichage Complet des Produits** + Visualisez tous vos produits avec des informations essentielles à portée de main pour une gestion simplifiée. + +- **Alertes de Stock Faible** + Recevez des notifications lorsque le stock d'un produit atteint un niveau critique pour éviter les ruptures. + +- **Exportation des Données en CSV** + Exportez vos données de stock en format CSV pour une analyse facile ou un partage avec d'autres outils.