Skip to content

Association-INTech/prINTech

Repository files navigation

PrINTech

PrINTech c'est un site web pour les imprimantes 3D de l'assotiation Intech

Le back et le front ne sont pas encore reliés ensemble mais c'est en cours

Outils à installer

PrINTech-Back

1. Installe les dépendances Python

À la racine de PrINTech-Back, crée un fichier .env :

uv sync

uv lit le pyproject.toml et installe tout ce qu'il faut.

2. Lance Docker

sudo systemctl start docker    
# ou
sudo service docker start # sur WSL

créer le container selon le fichier docker-compose

sudo docker compose up -d
sudo docker ps # pour vérifier

3. Migrations Django

(À refaire à chaque fois que tu modifies un model)

uv run ./manage.py makemigrations 
uv run ./manage.py migrate

4. Lance le serveur

uv run ./manage.py runserver

Tests

Une série de tests est définie dans PrINTech-Back/back/apps/api/tests.py

Pour les éxécuter:

uv manage.py test back.apps.api

PrINTech-Front

1. Installe Angular CLI

npm install -g @angular/cli
ng version # pour vérifier

3. Installe les dépendances

Depuis PrINTech-Front :

npm install

3. Lance le serveur

ng serve

Backend API Endpoints

Les routes sont définis dans le fichier PrINTech-Back/back/urls.py.

Authentification

  • POST /api/v1/token/ - Obtenir un access et refresh token JWT avec username et password
  • POST /api/v1/token/refresh/ - Renouveler l'access token

Utilisateurs

  • POST /api/v1/user/ - Enregistrer un nouvel utilisateur. Renvoie les données du user + tokens JWT
  • GET /api/v1/user/me/ - Récupérer le profil de l'utilisateur authentifié
  • PATCH /api/v1/user/me/change-password/ - Changer le mot de passe de l'utilisateur authentifié

Requêtes d'impression

  • GET /api/v1/requests/ - Lister les demandes appartenant à l'utilisateur connecté
  • POST /api/v1/requests/ - Créer une nouvelle demande avec upload de fichier
  • GET /api/v1/requests/{id}/ - Récupérer une demande utilisateur
  • POST /api/v1/requests/{id}/pay/ - Payer une demande en attente de paiement
  • POST /api/v1/requests/{id}/cancel/ - Annuler une demande en SUBMITTED, AWAITING_PAYMENT ou PENDING

Administration des demandes

  • GET /api/v1/admin/requests/ - Lister toutes les requêtes (admin uniquement)
  • GET /api/v1/admin/requests/{id}/ - Récupérer n'importe quelle requête (admin uniquement)
  • PATCH /api/v1/admin/requests/{id}/change_status/ - Changer/avancer le statut d'une requête (admin uniquement)

Opérations

  • GET /api/v1/operations/ - Lister les opérations du user authentifié
  • GET /api/v1/operations/{id}/ - Récupérer une opération appartenant à l'utilisateur
  • GET /api/v1/admin/operations/ - Lister toutes les opérations (admin uniquement)
  • POST /api/v1/admin/operations/ - Créer une opération en tant qu'agent admin
  • GET /api/v1/admin/operations/{id}/ - Récupérer une opération quelconque (admin uniquement)

Filaments

  • GET /api/v1/filaments/ - Lister les filaments disponibles
  • GET /api/v1/filaments/{id}/ - Récupérer un filament
  • GET /api/v1/admin/filaments/ - Gérer les filaments en admin (liste/création/mise à jour/suppression)
  • GET /api/v1/admin/filaments/{id}/ - Récupérer, modifier ou supprimer un filament (admin uniquement)

Imprimantes

  • GET /api/v1/printers/ - Lister les imprimantes et leur statut
  • GET /api/v1/printers/{name}/ - Récupérer une imprimante par son nom
  • GET /api/v1/admin/printers/ - Lister les imprimantes en admin
  • PATCH /api/v1/admin/printers/{name}/ - Mettre à jour le statut/details d'une imprimante (admin uniquement)

Documentation

  • GET /api/schema/ - Schéma OpenAPI
  • GET /api/docs/ - Swagger UI
  • GET /api/redoc/ - Documentation Redoc

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors