Le frontend de StudyStorm est une application web développée en Typescript avec NuxtJS. Elle respecte le standard PWA et est donc installable sur les plateformes implémentant cette fonctionnalité.
- Volar
- TailwindCSS IntelliSense
- ESLint
- Prettier
- i18n Ally
Une fois le repository cloné, il faut tout d'abord installer toutes les dépendances:
> cd racine_du_projet
> yarn installDupliquez le fichier .env.example, renommez le en .env et remplacez les valeurs par les vôtres.
Pour votre environnement de développement, vous pouvez utiliser les valeurs suivantes:
BASE_URL=http://localhost:3000
LOCAL_API_URL=http://localhost:3333
PRODUCTION_API_URL=http://localhost:3333Note
Il est conseillé d'utiliser le serveur de développement pour la variablePRODUCTION_API_URLen cas de test en local de l'output de production.
Lancer le serveur de développement:
yarn devLe serveur est maintenant accessible à l'adresse affichée sur le terminal.
Le fichier settings.json présent dans le dossier .vscode permet normalement de configurer correctement le linter à condition d'avoir les extensions recommandées.
La version de Nuxt utilisée est une release candidate et peut donc comporter des bugs. Le dossier .nuxt ne doit pas être modifié par le développeur et peut entraîner des crashs. Si c'est le cas, il est possible de le regénérer avec la commande :
yarn preparePour les tests:
yarn testPour fixer des éventuels problèmes de formattage:
yarn formatDurant la configuration de votre pipeline de déploiement sur le providers de votre choix, il est impératif d'utiliser les deux commandes suivantes:
# Build du dossier .outpur contenant le code de production
yarn build
# Démarrage du serveur de production
yarn startLa majorité des providers proposent des champs spécifiques pour lancer ces commandes.
Warning
Le.envn'étant pas commit, il ne faut pas oublier d'ajouter les bonnes variables durant la configuration.
Nuxt3 a la capacité d'être déployé sur l'edge (Cloudflare Workers, Vercel Edge Functions...) en utilisant différents presets de déploiement.
Cependant, notre application a été développée avec l'objectif d'être déployée sur un serveur NodeJS "classique". Il est alors nécessaire d'utiliser des providers comme AWS, Azure ou Digital Ocean.