-
Lancer le projet
npm run dev
(nécessite docker). -
Générer le client prisma
npm run generate:prisma
. -
Faire une migration Primas en DEV :
npm run dev
npm run migrate:dev
-
Ouvrire les studio:
npm run dev
npm run studio
-
Les noms des commits doivent être semblables à :
feat(${issueNumber}): subject
,fix(${issueNumber}): subject
,docs(${issueNumber}): subject
... -
Les noms des branches doivent être semblables à :
feat/${issueNumber}
,fix/${issueNumber}
,docs/${issueNumber}
...
-
Tous les checkers doivent être créés dans le dossier
src/checkers
. Si vous importez un checker il faut utiliser le path@checkers
. -
Toutes les
absractRoutes
et lesproccesses
concernant la sécurité (connexion, vérification supplémentaire...) doivent être créées dans le dossiersrc/security
. Si vous importez depuis ce dossier, il faut utiliser le path@security
. -
Si vous souhaitez créer un service, vous devez créer le fichier dans le dossier
src/services
. Les services doivent être des class avec des methods static. Si vous importez depuis ce dossier, il faut utiliser le path@services
. -
Les noms des fichiers et des dossiers dans le dossier
src/routes
doivent être enkebab-case
. -
Si vous avez une question et que Mathcovax n'est pas dispo, allez sur la doc.
-
Les variables d'ENV doivent être utiliées depuis la variable globale
ENV
. -
Les variables d'ENV sont des valeurs "sensibles" (mdp d'un compte ou autre). Définissez les dans le fichier
.env.local
qui est ignore par git.
-
Le texte doit impérativement passer par i18n et non directement dans le markup.
-
Les noms des composants doivent être en
PascalCase
et être minimum composés de 2 mots. Si vous n'en trouvez qu'un seul, vous pouvez le prefixer parThe
. Exemple :Button
->TheButton
. -
Le dossier
src/components
contient uniquement des composants globaux. Ils ont pour but d'être flexibles et de pouvoir être utilisés à plusieurs endroits. Si vous souhaitez créer des composants qui ne seront utilisés qu'à un seul endroit, vous devez les créer dans le dossiercomponents
d'un domaine. Exemple de location du dossier composants d'un domaine :src/domains/product/components
. -
Les noms des pages doivent être en
PascalCase
et être minimum composés de 2 mots. Si vous n'en trouvez qu'un seul, vous pouvez le sufixer parPage
. Exemple :Login
->LoginPage
. -
Les noms des layouts doivent être en
PascalCase
et être minimum composés de 2 mots. Si vous n'en trouvez qu'un seul, vous pouvez le sufixer parLayout
. Exemple :Base
->BaseLayout
. -
Les routes doivent être en
kebab-case
. -
Les arguments des routes doivent être en
camelCase
. -
La création d'un nouveau domain doit être disctuté en amont.
-
Les pages doivent être systématiquement associées à un domaine. Exemple de location du dossier de pages d'un domaine :
src/domains/product/pages
. -
Le dossier
src/composables
contient uniquement des composables globaux. Ils ont pour but d'être flexibles et de pouvoir être utilisés à plusieurs endroits. Si vous souhaitez créer des composables qui ne seront utilisés qu'à un seul endroit, vous devez les créer dans le dossiercomposables
d'un domaine. Exemple de location du dossier composables d'un domaine :src/domains/product/composables
. -
Le dossier
src/stores
contient uniquement des stores globaux. Ils ont pour but d'être flexibles et de pouvoir être utilisés à plusieurs endroits. Si vous souhaitez créer un store qui ne sera utilisé que dans un seul domain, vous devez le créer dans le dossierstores
d'un domaine. Exemple de location du dossier stores d'un domaine:src/domains/product/stores
. -
Les noms des fichiers
typescript
doivent être encamelCase
. -
Quand une fonction est bind a un event de component, la fonction doit être une
function
.
-
Aller sur cette page.
-
Une fois connecté, aller dans
⚙️
>Paramètres du projet
>Comptes de service
. -
Cliquer sur
Générer une nouvelle clé privée
, (cela vous téléchargera un fichier json). -
Placer le fichier json ici
duplo/firebase.credential.json
.
l'élément principale qui vous permettera de debug c'est le champ info
dans le header.
Les différente info que vous pouvez rencontré qui son r'envoyer par duplojs:
INTERNAL_SERVER_ERROR
accompagner d'un status 500. Signifie qu'il y a ue une erreur pendant l'éxection des diférente étape de la route. Danse ce cas, il faut regader le body de la réponse, c'est ici que ce situe le détaile de l'erreur.- pas d'info mais code 500L. Si vous faite n'impote quoi cela peux arrivé, bonne chance ! vous pouvez quand même le contenu du body.
NO_RESPONSE_SENT
acompagner d'un status 503. Signifie que vous n'avez pas envoyer de response. vérifier bien vos condition.NOTFOUND
accompagner d'un status 404. signifi que la route n'est pas enregister dans le router. Vérifier que vous utilisais la bonne méthod et le bon path.TYPE_ERROR...
accompagner d'un status 400. Signifi qu'un schema d'un de vos extract n'est pas valide. Vous pouvez véfifier le body pour avoir plus d'info.WHAT_WAS_SENT_ERROR
accompagner d'une 500. Signifi que votre contra de sortie n'a pas étais respstecter. Vérifié les classIHaveSentThis
de votre route. Vous pouvais regarder le body et les headerscatch-info
etcatch-code
pour avoir plus d'information.
Toute ces régle sont valide pour les TU.
Les acces-token son générer par notre back-end et serre a nous identifier. A ne pas confondre avec le idToken de firebase. L'idToken de firebase nous serre a certifier l'appartenance d'une address email a un utilisateur, avec cela nous povons le trouvez en base de donner pour l'authentifier.
la façon la plus simple pour obtenir un access-token est de vous rendre sur /login
et de clicker sur le button "Se connecter avec Google". Si c'est la premier fois ou que votre base est vide, vous serrez rediriger vers le formulaire d'enregistrement. Compléter le. une fois rediriger vers /
. Vous povez allez cherchez l'access-token dans votre localStorage. Attention a ne pas le coller plus d'une fois, sinon cela ne fonctionera pas. l'info associer a un access-token invalide est access.token.invalid
.
- Le studio prisma, lancer la commande
npm run studio
et rendez vous sur votre port5555
. le studio est un DB viwer du point de vue de l'ORM. Il peut vous permettre de créer des entiter a la volez facilement. - Les swagger, il suffit que duplo sois lancer. rendez vous sur
/api/swagger
. il vous permettera de visualisé toute les routes est leurs paramétre.