Skip to content
Snippets Groups Projects
README.MD 1.71 KiB
Newer Older
  • Learn to ignore specific revisions
  • Remi Neveu's avatar
    Remi Neveu committed
    # Démarrer la stack
    
    Remi Neveu's avatar
    Remi Neveu committed
    Le projet est fait pour être lancé avec la commande docker compose (docker-compose selon les installations).
    
    
    Remi Neveu's avatar
    Remi Neveu committed
    ## Lancer le projet en mode "dev"
    
    docker compose up
    
    Remi Neveu's avatar
    Remi Neveu committed
    ## Lancer le projet en mode "build"
    
    MODE=build docker compose up
    
    Remi Neveu's avatar
    Remi Neveu committed
    
    # Accès aux endpoints
    ## Accès au front
    
    Remi Neveu's avatar
    Remi Neveu committed
    [http://0.0.0.0:3000](http://0.0.0.0:3000)  
    
    Remi Neveu's avatar
    Remi Neveu committed
    
    ## Accès à l'api
    
    Remi Neveu's avatar
    Remi Neveu committed
    [http://0.0.0.0:8000](http://0.0.0.0:8000)  
    
    Remi Neveu's avatar
    Remi Neveu committed
    [http://0.0.0.0:8000/graphql](http://0.0.0.0:8000/graphql) pour l'interface intéractive.
    
    # Activer le hook de pre-commit (lint+format)
    
    Remi Neveu's avatar
    Remi Neveu committed
    ```
    ./install_git_hook.sh
    ```
    
    Remi Neveu's avatar
    Remi Neveu committed
    
    # Architecture
    
    ## Front
    **dossier /front :**  
    
    Remi Neveu's avatar
    Remi Neveu committed
    Peu de modification de l'architecture par rapport aux starter kit, seulement l'ajout de biome.json pour gérer le formattage et le lint.
    
    Remi Neveu's avatar
    Remi Neveu committed
    
    ## Back
    **dossier /back**
    - main.py: point d'entrée de l'appli fastAPI, c'est ici qu'est instancié le schéma graphql.
    
    Remi Neveu's avatar
    Remi Neveu committed
    - auth.py: fichier regroupant les classes et les fonctions nécéssaires l'authentification et JWT de l'endpoint.
    
    Remi Neveu's avatar
    Remi Neveu committed
    - database.py: Ensemble des outils pour intéragir et gérer la base Sqlite associée a l'API.
    - project_management.sqlite: Base de données Sqlite créée lors de la première exécution de l'API.
    - schema.sql: LDD de notre base Sqlite.
    - lint.sh: commandes lancées par le conteneur lors du passage dans la pipeline de precommit.
    - pyproject.toml: fichier de configuration du projet python, avec les configurations de poetry, mypy et ruff.
    
    
    # Liste des fonctionnalités mises en places
    - Inscription/connexion/deconnexion des utilisateurs
    - Ajout/suppression/modification de projet (utilisation d'une subscription)
    - Recherche de projet.
    - Ajout/suppression/modification de taches
    - Ajout/suppression/modification de commentaires