Service utilisateur Ansopedia
Le service utilisateur Ansopedia est un service backend responsable de la gestion des comptes d'utilisateurs et de l'authentification au sein de la plate-forme d'apprentissage Ansopedia. Il offre des fonctionnalités comme:
- Enregistrement et connexion des utilisateurs: permet aux utilisateurs de créer de nouveaux comptes et de se connecter en toute sécurité à la plate-forme.
- Gestion des utilisateurs: propose des API pour gérer les profils d'utilisateurs, les préférences et les rôles potentiellement des utilisateurs (si des niveaux d'autorisation existent).
- Authentification: implémente des mécanismes d'authentification robustes (par exemple, les jetons JWT) pour sécuriser l'accès aux fonctionnalités et ressources Ansopedia.
- Intégration: collabore avec d'autres services tels que l'API Ansopedia Studio pour gérer les autorisations des utilisateurs pour la création et l'interaction de contenu.
Comprendre les scripts
Avant de plonger dans les étapes, décomposons les scripts dans votre fichier package.json :
- Build: transpile le code de type dactylographié en javascript.
- Dev: démarre le serveur de développement avec Nodemon pour le rechargement chaud.
- Lint: peluches à la base de code à l'aide d'Eslint.
- Lint: Correction: corrige automatiquement les erreurs de peluche.
- Préparez-vous: exécute des crochets de pré-engagement Husky.
- Pretest: construit le projet avant d'exécuter des tests.
- plus joli: Vérification: Vérifiez le formatage du code.
- plus joli: Correction: corrige automatiquement le formatage du code.
- Prod: Définit le Node_env en production, construit le projet et démarre le serveur.
- Démarrer: démarre le serveur de développement à l'aide de TS-node.
- Test: exécute la suite de tests.
Environnement de développement
Installez les dépendances:
Démarrer le serveur de développement:
Cette commande démarrera un serveur Nodemon, qui surveillera les modifications de vos fichiers TypeScript et redémarrera automatiquement le serveur.
Environnement de production
Démarrez le serveur de production:
Cette commande définit le NODE_ENV en production , construit le projet et démarre le serveur.
Environnement d'essai
Exécutez des tests:
Scripts supplémentaires
- Line:
- Vérifiez les problèmes de style de code:
pnpm lint - Correction automatique des problèmes de style de code:
pnpm lint:fix
- Formatage:
- Vérifiez les problèmes de formatage du code:
pnpm prettier:check - Correction automatique des problèmes de formatage du code:
pnpm prettier:fix
Licence
En contribuant, vous acceptez que vos contributions seront autorisées sous la licence du projet.
Contributif
Nous accueillons des contributions au studio Ansopedia Creator! Veuillez lire notre contribution.md pour plus de détails.
Code de conduite
Nous avons un code_of_conduct.md qui décrit nos attentes de comportement dans la communauté. Veuillez le lire.
Contributeurs
Nous accueillons et reconnaissons tous les contributeurs au studio Ansopedia Creator.
Configuration des touches de sécurité
Pour la signature et la vérification des jetons JWT, ce service nécessite des paires clés RSA.
Configuration du développement
- Créer un répertoire
keys dans la racine du projet - Exécutez le script de génération de clés:
Configuration de la production
Pour les environnements de production, les clés devraient être:
- Généré en toute sécurité hors ligne
- Stocké dans un service de gestion de clé sécurisé
- Monté sous forme de secrets dans le conteneur / environnement
- Jamais engagé dans le contrôle de version
Les fichiers clés attendus sont:
-
/keys/private.pem - clé privée RSA (restez en sécurité!) -
/keys/public.pem - RSA Public Key (peut être distribué)