RealEstateRadar is a modern property listing platform built with Next.js 14, allowing users to browse, list, and manage real estate properties with features like property search, user authentication, messaging, and interactive maps.
- Frontend: Next.js 14, React 18
- Backend: Next.js API Routes
- Database: MongoDB with Mongoose
- Authentication: NextAuth.js with Google OAuth
- State Management: React Hooks and Context
- Image Storage: Cloudinary
- Mapping: Mapbox GL
- Styling: Tailwind CSS
- Icons: React Icons
- UI Components:
- PhotoSwipe for image galleries
- React Spinners for loading states
- React Toastify for notifications
- 🏠 Property Listings with detailed information
- 🔍 Advanced property search with filters
- 📍 Interactive maps for property locations
- 📸 Multiple image uploads with gallery view
- 💬 Real-time messaging between users
- 🔐 User authentication and profile management
- ⭐ Property bookmarking system
- 📱 Responsive design for all devices
- Node.js 18+ installed
- MongoDB account and database
- Cloudinary account
- Mapbox account
- Google OAuth credentials
Create a .env.local
file in the root directory and add the following variables:
MONGODB_URI=your_mongodb_connection_string
Google OAuth GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret
NextAuth Configuration NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=your_nextauth_secret
Cloudinary Configuration CLOUDINARY_CLOUD_NAME=your_cloud_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret
Mapbox Configuration NEXT_PUBLIC_MAPBOX_TOKEN=your_mapbox_token
- Clone the repository
- Install dependencies
- Run the development server
- Open http://localhost:3000 in your browser
GET /api/properties
- Get all properties with paginationPOST /api/properties
- Create a new propertyGET /api/properties/:id
- Get property detailsPUT /api/properties/:id
- Update propertyDELETE /api/properties/:id
- Delete propertyGET /api/messages
- Get user messagesPOST /api/messages
- Send a message
The application can be easily deployed on Vercel:
- Push your code to GitHub
- Import your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy
This project is licensed under the MIT License - see the LICENSE.md file for details
- Next.js team for the amazing framework
- Vercel for hosting solutions
- MongoDB for database services
- Cloudinary for image management
- Mapbox for mapping services