Haven Estates is a comprehensive real estate platform that connects property buyers, sellers, and agents in a seamless digital experience. Our platform offers advanced property search, booking capabilities, viewing scheduling, and information request features to make real estate transactions effortless.
- Browse extensive property listings with detailed information
- Advanced filtering by property type, location, price range, and status
- Featured properties section highlighting premium listings
- Responsive design for seamless experience across devices
- Secure online booking system for properties
- Stripe integration for secure payment processing
- Automated booking confirmation workflow
- Booking management dashboard for users
- Schedule property viewings with ease
- Request property viewing appointments
- Manage upcoming viewing schedules
- Receive notifications for viewing confirmations
- Request additional information about properties
- Connect with real estate agents directly
- Track information request status
- Receive detailed property documentation
- Comprehensive buyer dashboard
- Admin panel for property management
- Secure authentication system
- Profile management and settings
- Property management interface
- Booking and viewing request oversight
- User management capabilities
- Analytics and reporting tools
- Framework: Next.js 16 with App Router
- Styling: Tailwind CSS with custom components
- State Management: Redux Toolkit with RTK Query
- UI Components: Custom-built reusable components
- Authentication: JWT-based authentication system
- Payments: Stripe integration for secure transactions
- Database: MongoDB with Mongoose ODM
- Deployment: Optimized for Vercel deployment
Make sure you have Node.js (v18 or later) and pnpm installed on your system.
- Clone the repository:
git clone <https://github.com/faysaldev/haven-estate>
cd haven-estate- Install dependencies:
pnpm install- Set up environment variables:
Create a
.env.localfile in the root directory with the following variables:
NEXT_PUBLIC_API_BASE_URL=<your-api-base-url>
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=<your-stripe-publishable-key>
STRIPE_SECRET_KEY=<your-stripe-secret-key>
JWT_SECRET=<your-jwt-secret>
MONGODB_URI=<your-mongodb-uri>
NEXTAUTH_URL=<your-app-url>- Run the development server:
pnpm dev- Open http://localhost:3000 with your browser to see the application.
haven-estate/
├── app/ # Next.js App Router pages
│ ├── auth/ # Authentication pages
│ ├── bookings/ # Booking management
│ ├── admin/ # Admin dashboard
│ ├── buyer/ # Buyer dashboard
│ └── listings/ # Property listings
├── src/
│ ├── components/ # Reusable UI components
│ ├── Page/ # Main page components
│ ├── redux/ # State management
│ ├── utils/ # Utility functions
│ └── hooks/ # Custom React hooks
├── assets/ # Static assets
├── public/ # Public assets
└── lib/ # Library functions
- Home (
/) - Landing page with featured properties and search - Listings (
/listings) - Browse all available properties - Property Detail (
/listings/[id]) - Detailed property information - Booking Flow (
/bookings/*) - Complete booking process - User Dashboard (
/buyer/*) - Personal account management - Admin Panel (
/admin/*) - Administrative controls
The application integrates with a backend API for:
- Property management
- User authentication
- Booking and payment processing
- Viewing request management
- Information requests
This application is optimized for deployment on Vercel:
- Push your code to a Git repository
- Import the project in Vercel
- Configure environment variables
- Deploy!
We welcome contributions to improve Haven Estates! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please contact our development team or open an issue in the repository.
Built with ❤️ by the Faysal Mridha