Pick a color scheme

Développement d'un site de newsletter & intégration d'email HTML responsive.

Homepage of the newsletter subscription website : a bento UI with a subscription form aside

Rôle

Développeur et designer du projet

Commande / Objectifs

Création d'un site d'inscription et d'envoi d'une newsletter consacrée au web-design. Intégration d'email HTML responsive. Chaque mois, la newsletter est envoyée via une tâche automatisée. Les mails envoyés peuvent-être lus dans le client mail ou dans le navigateur. Il est possible de se désinscrire de la newsletter à tout moment.

Technologies utilisées

Fonctionnalités

  1. Logique de souscription : les utilisateurs s'inscrivent sur la page d'accueil en remplissant le formulaire. Les données sont enregistrées dans une base de données SQL. Une notification visuelle confirme la souscription à l'utilisateur, si l'email est déjà présent dans la BDD une notification visuelle informe de l'erreur. Un email de bienvenue est envoyé au nouvel inscrit.
  2. Logique de désinscription : les utilisateurs peuvent se désinscrire sur la page /unsubscribe. L'utilisateur entre son mail dans le formulaire de désinscription, la BDD se met à jour en conséquence. Une vérification s'opère avec une requête SQL pour vérifier si le mail est dans la BDD, si ce n'est pas le cas une notification visuelle informe l'utilisateur.
  3. UI : intégration HTML de l'email. Adaptation responsive mobile.
  4. Rendu de l'email dans la boite mail : un bloc de bienvenue et un bloc montrant l'étude de cas
  5. Composition dynamique de la newsletter : une requête SQL est effectuée dans la BDD pour personnaliser le prénom et le nom du destinataire.
  6. Envoi régulier de la newsletter : un Node Cronjob automatise l'envoi par mail chaque mois.
  7. Permettre au client d'afficher la newsletter dans son navigateur : une route Express prend en paramètre la requête pour savoir quel mail elle doit afficher.
  8. Déploiement : afin de déployer la BDD SQLite j'ai choisi fly.io, la BDD locale SQLite est répliquée sur le serveur.

Ce que j'ai appris

Lien du projet et code source