# README Tourism

Une application fullstack JavaScript permettant de partager des photos. Elle utilise Node.js pour le backend et MongoDB pour la base de données. Pour quitter l’application ou revenir au portfolio, il suffit d’appuyer sur le logo puis de confirmer.

# I) Technologies utilisées

  1. HTML5 pour la structure de l’application
  2. SCSS pour le style et la mise en page
  3. JavaScript pour implémenter les fonctionnalités et les interactions dynamiques
  4. Node.js pour le backend
  5. MongoDB pour la base de données

# II) Fonctionnalités

  1. Ajouter une nouvelle photo
  2. Afficher toutes les photos via l’API Fetch
  3. Éditer les photos des utilisateurs
  4. Supprimer une ou plusieurs photos
  5. Filtrer les photos par catégories
  6. Messages d’erreur
  7. Backend et MongoDB

# III) Actions

`Ajouter` une nouvelle photo

Par défaut, lorsque vous entrez dans l’application, des photos de modération sont déjà présentes, sur lesquelles aucune action n’est possible. Allez sur la page Formulaire depuis la navigation du header, puis remplissez correctement le formulaire afin d’ajouter une nouvelle photo.

`Affichage` toutes les photos via l’API Fetch

Les photos sont affichées sous forme de liste, par défaut du plus récent au plus ancien.

`Éditer` les photos des utilisateurs

Cliquez sur une photo utilisateur pour être redirigé vers la page de détail. Ensuite, cliquez sur le bouton Éditer afin d’accéder au formulaire d’édition.

`Supprimer` une ou plusieurs photos

Cliquez sur une photo utilisateur pour accéder à la page de détail, puis cliquez sur le bouton Supprimer. Confirmez ou annulez l’action via une boîte de dialogue.

`Filtrer` les photos par catégories

Cliquez sur l’une des catégories depuis le header de la page d’accueil. Les photos correspondant à cette catégorie seront affichées. Le nombre de photos est indiqué entre parenthèses.

`Messages d’erreur`

Lorsque vous remplissez le formulaire d’ajout d’une photo, si les champs ne sont pas correctement renseignés, des messages d’erreur s’afficheront. Il vous suffira de suivre les instructions.

`Backend` et `MongoDB`

Node.js est utilisé pour construire le backend, qui contient les API pour les routes et les modèles. Il gère également la base de données MongoDB, permettant le stockage des photos des utilisateurs pendant une durée maximale de 24 heures, au-delà de laquelle elles sont automatiquement supprimées.