Le projet utilise différent package pour pouvoir fournir les éléments de base, on retrouve donc :
Npgsql.EntityFrameworkCore.PostfreSQL: Permet la connexion à la base de donnéesSwashbuckle.AspNetCore: Permet d'afficher l'interface OpenAPIDNSClient: Permet la résolution des champs DNSIsopoh.Cryptography.Argon2: Permet de le hashage en Argon2id
Le projet a été construit autour de l'architecture N-Tiers. On utilise dans ce projet 6 couches :
API: Gère les end-pointsBusiness: Gère la logique du logicielCore: Contient toutes les interfaces à implémenterCron: Service permettant la vérification des servicesDbRepository: Gère les opérations liées à la base de données, contient aussi leDbContextEntity: Contient toutes les entités utilisées dans le projet.
Les variables d'environnement utilisées sont situées dans le projet Statutis.API dans le fichier appsettings.json.
Application.origine: Un tableau content les requêtes entrante acceptées.Application.secondsBetweenCheck: Un nombre, représentant le nombre de secondes entre deux vérifications d'un serviceConnectionStrings.hostname: Le nom d'hôte du serveur de base de donnéesConnectionStrings.port: Port du serveur de la base de donnéesConnectionStrings.username: Le nom d'utilisateur de la base de donnéesConnectionStrings.password: Le mot de passe de l'utilisateur de la base de donnéesConnectionStrings.database: La base de données utilisée pour l'applicationJWT.secret: La clef secrète permettant de générer un token JWTJWT.expiration_hour: Un nombre, représentant un nombre d'heures pendant lequel le token est valide
Ces variables d'environnement peuvent être ré-écrite par les variables d'environnements système (sous UNIX). Pour utiliser les variables systèmes, utiliser le format suivant : ConnectionStrings.hostname devient ConnectionStrings__hostname=QQL_CHOSE
Si vous préférez passer par le fichier .json nous vous conseillons de créer un fichier nommé appsettings.Production.json, il sera prit en compte automatiquement.
Tout d'abord il va falloir démarrer la base de données pour cela un fichier docker-compose.yml se trouve à la racine du projet. Pour le démarrer il suffit d'exécuter la commande suivante :
docker-compose up -d
Maintenant que la base de données est démarrée, il faut restaurer le projet grâce à la commande suivante:
dotnet restore
Une fois restauré il ne reste plus qu'à build le projet:
dotnet build