A property rental website using Tailwind CSS, MongoDB, and TypeScript.
- setting up the project with Tailwind CSS and TypeScript.
- implementing a responsive navbar with React Icons.
- integrating homepage components.
- crafting a property card component to showcase available properties.
- designing a custom 404 page and incorporating loading spinners from React Spinners.
- establishing a MongoDB Atlas database.
- creating an API route.
- constructing Property and User models using Mongoose and TypeScript.
- fetching data in a server component.
- setting up NextAuth.js with Google OAuth.
- handling user sessions, with the ability to sign in and out.
- ensuring that certain routes are accessible only to authenticated users.
- handling the property submission form.
- implementing Cloudinary for image storage and optimization.
- presenting user profile information and listings.
- offering capabilities for editing and deleting listings.
- integrating React Toastify for displaying user-friendly notifications.
- integrating Mapbox to handle geocoding and maps.
- implementing a bookmarking system that enables users to save their favorite properties.
- adding social share buttons using react-share.
- handling searches by location and property type.
- implementing a messaging system that allows users to send, view, and manage messages, featuring message notifications.
- managing pagination.
- displaying images in a lightbox with react-photoswipe-gallery.
- displaying featured properties.
Based on Next.js From Scratch by Brad Traversy (2024).