Welcome to Swan Estates, a Listings web application! This project is built with the MERN stack (MongoDB, Express.js, React.js, Node.js) and utilizes Tailwind CSS for styling. The application allows users to create, view, update, and delete real estate listings.
- User Authentication: Users can sign up and log in securely.
- Create Listings: Authenticated users can create new real estate listings.
- View Listings: All users can browse through available real estate listings.
- Update and Delete Listings: Listing owners can update or delete their own listings.
- Responsive Design: The application is designed to be responsive and work seamlessly on different devices.
- Contact Landlord for more information about a listing.
- MongoDB: NoSQL database used to store listing data.
- Express.js: Backend web framework used to handle HTTP requests and routes.
- React.js (Vite): Frontend library used to build the user interface.
- Node.js: JavaScript runtime used for the server environment.
- Tailwind CSS: Utility-first CSS framework used for styling.
- JWT (JSON Web Tokens): Used for secure user authentication. Getting Started
- Firebase: For google signup/signin authentication and storing listing images.
To get a local copy of this project up and running on your machine, follow these steps:
Make sure you have Node.js and npm (Node Package Manager) installed on your machine.
Clone this repository to your local machine:
git clone https://github.com/estate.git
Navigate to the project directory:
cd estate
Install backend dependencies:
npm install
Install frontend dependencies:
cd client
npm install
- Backend Configuration:
- Create a
.envfile in the root directory. - Define environment variables for
MongoDB URIandJWT secretkey:
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
- Frontend Configuration:
Create a
.envfile in the client directory. Define a firebase API Key:
VITE_FIREBASE_API_KEY=your_firebase_api_key
- Running the Application
- Start the backend server:
cd ..
npm start
- Start the frontend development server:
cd client
npm start
Access the application in your web browser at http://localhost:3000.
Contributions are welcome! If you find any issues or have suggestions for improvement, please feel free to submit a pull request.
Licensed under the MIT License - see the LICENSE file for more details.