Projet du Club *Nix permettant de gérer les stocks ainsi que de permettre aux membres d'acheter des produits contre des monix-coins.
Le projet associé au front-end du projet est trouvable ici
Le projet correspond à la version 2 du projet, la première version est consultable ici
La version 1.5 (version intermédiaire) est également consultatble ici
Un docker est associé à ce projet, il est trouvable ici.
Pour utiliser le registry github, il est nécéssaire de se connecter avant !
Plusieurs variables d'environnement sont nécéssaire à son utilisation:
HOST
: Host de l'application (par défaut, 0.0.0.0)PORT
: Port de l'application (par défaut, 1337)APP_KEYS
: Pour les clés secrètes de l'application, listes séparé par ","API_TOKEN_SALT
: Salt pour la creation de mot de passe, utilisé par l'algorithme BcryptADMIN_JWT_SECRET
: Secret du jeton JWT pour le panel d'administration du backendJWT_SECRET
: Secret du jeton JWTDATABASE_CLIENT
: Type de base de données, seulementsqlite
etpostgres
sont actuellements supportés (par défaut,sqlite
)DATABASE_HOST
: (Pour les base de donnéespostgres
seulement) Adresse de la base de données (par défaut, localhost)DATABASE_PORT
: (Pour les base de donnéespostgres
seulement) Port de la base de données (par défaut, 5432)DATABASE_NAME
: (Pour les base de donnéespostgres
seulement) Nom de la base de données (par défaut, monix)DATABASE_USERNAME
: (Pour les base de donnéespostgres
seulement) Username de l'utilisateur de la base de données (par défaut, postgres)DATABASE_PASSWORD
: (Pour les base de donnéespostgres
seulement) Mot de passe de l'utilisateur de la base de données (par défaut, 0000)DATABASE_SCHEMA
: (Pour les base de donnéespostgres
seulement) Schéma dans la base de données (par défaut, public)DATABASE_FILENAME
: (Pour les base de donnéessqlite
seulement) Nom du fichier de base de données (par défaut, .tmp/data.db)
Ces variables d'environnements ne seront obligatoire seulement si vous voulez utiliser votre mail pour les alertes backend :
MAIL_ADDRESS
: Mail utilisé par le backendMAIL_PASSWORD
: Mot de passe du mail utiliséSMTP_SERVER
: Serveur SMTP pour l'envoi de mailSMTP_PORT
: Port du serveur SMT pour l'envoi de mail
Quelques volumes peuvent être utiles si vous souhaitez conserver certains éléménts:
/app/.tmp
: Pour garder la base de données et les données associés (quand laissée par défaut) (sqlite3)/app/config
: Pour garder la config de l'instance Strapi/app/public/uploads
: Pour garder les fichiers uploads
-
Via docker run:
docker run ghcr.io/clubnix/monix-backend:latest -e APP_KEYS=key1,key2,key3 -e API_TOKEN_SALT=Salt1234 -e ADMIN_JWT_SECRET=Secret1234 -e JWT_SECRET=Secret_2_1234
-
Via docker-compose:
version: '2'
services:
monix-back:
image: ghcr.io/clubnix/monix-backend:latest
environment:
- APP_KEYS=key1,key2,key3
- API_TOKEN_SALT=Salt1234
- ADMIN_JWT_SECRET=Secret1234
- JWT_SECRET=Secret_2_1234
volumes:
- "/app/.tmp"
- "/app/config"
- "/app/public/uploads"
Afin de développer, il vous sera nécéssaire d'utiliser ses commandes:
npm i
Installation Packages + hooknpm run develop
Pour lancer l'application en debugnpm run build
Pour build le panel administrateurnpm start
Pour lancer le serveur sans les fonctionnalités de développementnpm run lint:fix
Pour régler certains problèmes de style de code automatiquementnpm run format
Pour formatter les fichiers avec prettiernpm run check
Verifie le formattage + la qualité du code (⚠️ lancé automatiquement avant chaque commit⚠️ )
Il peut également utile d'utiliser le CLI de strapi pour les actions plus spécifiques.
Pour la qualité de code, nous utilisons ESLINT et Prettier pour le formattage.
Le Back-End est basé sur TypeScript et Strapi.