The goal

A learning project to explore a NoSQL database and real-time synchronisation, by building a bilingual travel blog. The idea: step away from relational databases and work with a different data model, while polishing the user experience.

Features

  • bilingual EN / FR (i18n);
  • dark mode;
  • installable on mobile (PWA);
  • interactive photo gallery;
  • real-time comments and likes (Firebase).

Technical choices

  • Firebase / Firestore: to work with a NoSQL database and real-time sync without managing a server — the core learning goal.
  • React + TypeScript + Tailwind CSS: a typed interface, built quickly.
  • PWA + i18n: going beyond a plain site — installable, usable offline, and available in two languages.

What I worked on

Modelling data in NoSQL (and understanding how it differs from relational), handling real-time synchronisation of comments and likes, and turning a React app into a bilingual PWA.

What the project demonstrates

Knowing when to choose NoSQL, handling real-time features, and caring about experience (PWA, internationalisation, dark mode).