DreamscapeDwellings is a state-of-the-art real estate application developed using the MERN stack (MongoDB, Express.js, React, Node.js). It provides users with a secure, seamless platform to manage and browse property listings, offering advanced features and an intuitive user interface.
- JWT (JSON Web Token): Secure user sessions and authentication.
- Firebase Authentication: Robust, scalable authentication with Firebase.
- Google OAuth: Easy sign-in using Google accounts for a smooth user experience.
- Create, Read, Update, Delete: Efficient property listing management with MongoDB.
- Image Uploads: Users can easily upload and manage property images.
- Property Listing Management: Streamlined process for handling property details.
- Sophisticated Search: Enhanced search capabilities to help users find properties quickly and accurately.
- Node.js (v14 or higher)
- MongoDB
- Firebase Account
- Google Developer Account for OAuth
-
Clone the repository
git clone https://github.com/awadesh365/DreamscapeDwellings.git cd DreamscapeDwellings
-
Install dependencies
npm install
-
Set up environment variables
Create a
.env
file in the root directory and add the following:MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret FIREBASE_API_KEY=your_firebase_api_key FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain FIREBASE_PROJECT_ID=your_firebase_project_id FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id FIREBASE_APP_ID=your_firebase_app_id GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret
-
Run the application
npm start
-
Sign Up / Sign In
- Users can register or log in using email and password, Google OAuth, or Firebase authentication.
-
Property Management
- Users can create, update, and delete property listings as needed.
-
Search Properties
- Utilize advanced search features to find properties based on various criteria.
DreamscapeDwellings/
├── client/ # React frontend
│ ├── public/
│ └── src/
│ ├── components/ # Reusable components
│ ├── pages/ # Page components
│ ├── services/ # API service calls
│ ├── styles/ # CSS and styling
│ └── utils/ # Utility functions
├── server/ # Express backend
│ ├── config/ # Configuration files
│ ├── controllers/ # Request handlers
│ ├── models/ # Mongoose models
│ ├── routes/ # Express routes
│ └── middleware/ # Middleware functions
├── .env # Environment variables
├── .gitignore
├── package.json
└── README.md
We welcome contributions from the community. To ensure a smooth contribution process, please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/your-feature-name
- Commit your changes
git commit -m 'Add some feature'
- Push to the branch
git push origin feature/your-feature-name
- Open a pull request with a detailed description of your changes.
We expect all contributors to adhere to our Code of Conduct. Please read it to understand the expected behavior when contributing to this project.
This project is licensed under the MIT License. See the LICENSE file for more details.
For any questions or suggestions, feel free to open an issue or contact the project maintainers at 36awadesh@gmail.com.
We thank the open-source community for their invaluable contributions and tools that have made this project possible.
DreamscapeDwellings - Your gateway to the dream home.