Skip to content

My submission to the Worldskills regionals 48th edition @ France, Nouvelle-Aquitaine.

Notifications You must be signed in to change notification settings

Vexcited/odm-2024

 
 

Repository files navigation

Participation ODM 2024 - Régionales de France

Techstack

  • SolidStart, framework fullstack basé sur SolidJS, utilise Vinxi, Vite et Nitro en interne
  • UnoCSS, framework CSS dans le même esprit que TailwindCSS
  • pnpm, gestionnaire de dépendances rapide et efficace
  • TypeScript, JS mais typé pour assurer la qualité du code
  • MongoDB, base de données NoSQL

J'ai décidé de partir sur SolidStart puisque SolidJS est une librairie que j'admire pour réaliser mes interfaces. C'est pourquoi il me paraît évident de partir sur un framework fullstack qui utilise SolidJS pour le front-end.

Concernant la base de données, j'ai décidé d'aller vers MongoDB pour sa très bonne intégration dans l'écosystème NodeJS (via mongoose) et sa facilité d'utilisation.

Fonctionnalités

  • Inscription (+ envoi d'un code OTP par e-mail pour confirmer l'inscription)
    • Mot de passe hashé (bcrypt)
    • Vérification de la validité de l'adresse e-mail
    • Mot de passe >= 8 caractères (bonnes pratiques)
  • Connexion
  • Suppression de son compte
    • Entraine la suppression de toutes les réservations effectuées
  • Réservation entre deux dates
    • Vérification de la disponibilité
  • Liste des réservations effectuées par l'utilisateur
  • Annulation d'une réservation
  • Recherche de séjours disponibles
    • Filtrer par pays
    • Filtrer par ville
    • Filtrer par continent
    • Filtrer par nombre de personnes
    • Filtrer par prix
    • Filtrer par environnement (campagne, ville, ...)
  • Affichage des détails d'un séjour
  • Affichage des erreurs (via un toast)
  • Personnalisation du nom de l'utilisateur dans le profil

Concernant l'API, il n'y a pas d'OpenAPI disponible, cependant un export Hoppscotch est disponible dans le fichier api.hoppscotch.json. Des identifiants et tokens de démonstration y sont déposés, n'hésitez pas à les changer lors d'une nouvelle authentification.

Développement

# On clone le dépôt git
git clone https://github.com/Vexcited/odm-2024
cd odm-2024

# Installation des dépendances
pnpm install

Il ne faut pas oublier de créer un fichier .env à la racine du projet avec les variables d'environnement contenues dans le fichier .env.example.

Vous pouvez démarrer le serveur de développement en utilisant la commande suivante :

pnpm dev

Production

Nous utilisons le preset node par défaut.

pnpm build
pnpm start

About

My submission to the Worldskills regionals 48th edition @ France, Nouvelle-Aquitaine.

Topics

Resources

Stars

Watchers

Forks