Back to projects
travel

travel

Arnaud Obri | March 1, 2024

Vite
React
Tailwind CSS
MongoDB
Mongoose
Express
JWT
Axios
React Router
Coolify

This is my first full-stack app. A great opportunity to apply everything that I have learned during the bootcamp. For the frontend, I decided to fetch data on the client with Axios with caching implementation. I also used hooks when needed to prevent unnecessary re-rendering (useMemo and useCallback). For the backend, I used a combination of Express.js, Mongoose, and MongoDB for managing the listings. I also added an authentication and authorization system with JWT. It is not the best, but I wanted to learn about that. I also used Coolify to manage the backend that I host on a VPS.

Features

  • Fetching data: Fetch data on the client with Axios with caching implementation.
  • Authentication/Authorization: Allow users to sign up and log in.
  • Favorites: Allow users to add and remove favorites with persistence.

Technologies

  • Vite: A build tool for modern web development.
  • React: A JavaScript library for building user interfaces.
  • Tailwind CSS: A utility-first CSS framework for building custom designs.
  • MongoDB: A NoSQL database for storing and retrieving data.
  • Mongoose: An Object Data Modeling (ODM) library for MongoDB and Node.js.
  • Express: A web application framework for Node.js.
  • JWT: A JSON Web Token library for Node.js.
  • Axios: A promise-based HTTP client for the browser and Node.js.
  • React Router: A library for routing in React.
  • Coolify: self-hosted solution for managing servers and databases.