https://github.com/chandankushwahaa/nullestate
A dynamic web app facilitating property buying and renting. Powered by Node.js, Express, MongoDB, and Firebase for secure user authentication.
https://github.com/chandankushwahaa/nullestate
authentication express mongodb react redux
Last synced: 3 months ago
JSON representation
A dynamic web app facilitating property buying and renting. Powered by Node.js, Express, MongoDB, and Firebase for secure user authentication.
- Host: GitHub
- URL: https://github.com/chandankushwahaa/nullestate
- Owner: chandankushwahaa
- Created: 2024-03-22T18:39:53.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-09T09:35:08.000Z (almost 2 years ago)
- Last Synced: 2025-04-04T00:28:21.272Z (over 1 year ago)
- Topics: authentication, express, mongodb, react, redux
- Language: JavaScript
- Homepage:
- Size: 197 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MERN NullEstate Application
NullEstate is a web application designed for users to buy or rent houses. It provides a platform where sellers can upload their properties for sale or rent, while buyers can browse listings and make inquiries. The project is built using Node.js, Express, MongoDB, and Firebase for authentication.
## Features
- **User Authentication:** Secure user authentication system with features for signup, login, and Google authentication.
- **Property Listings:** Sellers can upload details of their properties, including images, descriptions, and pricing.
- **Property Search:** Buyers can search for properties based on various criteria such as location, price, and type.
- **User Profiles:** Users can create profiles to manage their listings, inquiries, and account settings.
## Backend
1. Clone this repository to your local machine.
```bash
git clone https://github.com/chandanck22/nullestate.git
```
2. Create a `.env` file in the root directory and add your MongoDB connection URL:
```bash
MONGO = "PASTE_DATABASE_URL"
```
```bash
JWT_SECRET = "secrettoken"
```
3. Install dependencies by running
```bash
npm install
```
4. Start the application by running
```js
npm run dev
```
5. The backend server will start on port 3000.
## Fronted
1. Navigate to the `client` directory:
```bash
cd client
```
2. Replace the file firebase.js with your Firebase configuration code.
3. Create a .env file in the client directory and add your Firebase API key:
```bash
VITE_FIREBASE_API_KEY = "PASTE_FIREBASE_API_KEY"
```
3. Install dependencies by running
```bash
npm install
```
4. Start the application by running
```bash
npm run dev
```
5. The frontend server will start on port 5173.
## Dependencies
- **express**: Express is a fast, unopinionated, minimalist web framework for Node.js. It simplifies the process of building web applications and APIs.
- **mongodb**: MongoDB is a NoSQL database program, which uses JSON-like documents with optional schemas.
- **mongoose:** Mongoose is an Object Data Modeling (ODM) library for MongoDB and Node.js. It provides a straightforward, schema-based solution to model application data.
- **nodemon:** Nodemon is a utility that monitors for changes in your source code and automatically restarts the server. It's useful during development to streamline the development process.
- **bcryptjs** It is a library to hash passwords and compare hashed passwords with the original one.
- **cookie-parser** Parsing cookies for session management.
- **dotenv** Loading environment variables from a .env file.
- **jsonwebtoken** Generating and verifying JSON Web Tokens (JWT) for user authentication.