Le Dépanneur chez Freud! Gestion des utilisateurs, produits, achats et soldes.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Depanneur.App
.dockerignore
.gitignore
Depanneur.sln
Dockerfile
LICENSE
azure-pipelines.yml
docker-compose.yml
package-lock.json
package.json
readme.md
webpack.config.js

readme.md

Dépanneur Sigmund

Build Status

Gestion des produits, des achats et des paiements pour le dépanneur de Sigmund.

Pré-requis

  • Visual Studio 2017 (version RC utilisée pour démarrer le projet)
    • Note: Il est aussi possible d'utiliser VS Code, mais la configuration de ce dernier est laissée comme exercice au lecteur.
  • NodeJS (la version 6.9.4 a été utilisée pour le setup du projet)

Installation développeur

  • Clonez le repository
  • Installez les packages: npm install
  • Startez webpack pour builder le bundle frontend: npm run webpack-watch
  • Ouvrez le projet dans Visual Studio 2017
  • Faites un clic droit sur le projet Depanneur.App et sélectionnez Manage User Secrets.
  • Entrez vos identifiants pour l'authentification Google et pour votre compte SendGrid. Voir détails plus bas.
    {
      "GoogleAuth": {
        "ClientID": "YOUR_CLIENT_ID",
        "ClientSecret": "YOUR_CLIENT_SECRET"
      },
      "Email": {
        "Mode": "SendGrid",
        "SendGrid": {
          "ApiKey": "YOUR_API_KEY"
        }
      }
    }
  • Démarrez le projet (Debug > Start Without Debugging)
  • Accédez à http://localhost:59792/account/login
  • Cliquez sur le poisson et identifiez vous avec votre adresse Sigmund.

Paramètres de configuration

  • GoogleAuth:ClientID et GoogleAuth:ClientSecret
    Identifiants OAuth pour une application Google. Celle-ci doit autoriser les redirect URIs suivants pour supporter les différents scénarios d'exécution possibles :
  • GraphQL:EnableGraphiQL
    Mettre à true pour activer l'interface GraphiQL à l'URL /graphql. Utile pour tester des requêtes lors du développement.
  • GraphQL:ExposeExceptions
    Indique si le détail des exceptions se produisant lors d'une requête GraphQL doit être retourné. Utile lors du développement.
  • ForceSSL
    Mettre à true pour rediriger tout le traffic vers le protocol https.
  • Email:BaseUrl
    Spécifie le nom de domaine de l'application, utilisé dans les courriels.
  • Email:Mode
    Indique de quel façon les courriels doivent être envoyés. Valeurs possibles :
    • SendGrid : Pour envoyer les courriels via l'API SendGrid.
    • Smtp : Pour envoyer les courriels via le protocol SMTP.
  • Email:SendGrid:ApiKey
    Votre clé d'API pour SendGrid.
  • Email:Smtp:Host et Email:Smtp:Port
    Adresse et port de votre serveur SMTP.
  • DefaultTimeZone
    Votre fuseau horaire. Doit correspondre à un fuseau "standard" de votre plateforme. Par exemple :
    • Sous Windows : Eastern Standard Time
    • Sous Linux : America/Toronto
  • WhitelistedDomains
    Liste des noms de domaines dont les courriels sont automatiquement approuvés lors de la connexion. Séparez plusieurs domaines par un espace.

Overview techno

Backend

  • ASP.NET Core
  • ASP.NET Core Identity, configuré avec Google Authentication
  • Entity Framework Core
  • GraphQL
  • Hangfire

Frontend

  • Webpack
  • Babel avec preset ES2015
  • React
  • Radium (librairie react pour ajouter des fonctionnalités aux inline styles)
  • Apollo