8000 GitHub - ahadalireach/gher.com: A full-stack web application for buying, selling, and discovering properties. Includes features for creating and managing listings, along with advanced filtering options.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A full-stack web application for buying, selling, and discovering properties. Includes features for creating and managing listings, along with advanced filtering options.

Notifications You must be signed in to change notification settings

ahadalireach/gher.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

Gher.com

Gher.com is a full-stack web application designed for buying, selling, and finding properties. Users can create and manage property listings, with advanced filtering options.

Technologies Used

  • Frontend: React JS, Tailwind CSS, React Redux
  • Backend: Node JS, Express JS
  • Database: MongoDB
  • Authentication & Storage: Firebase
  • Security: JWT (JSON Web Token)
  • Email Service: EmailJS
  • Hosting: Vercel

Features

  • Property Listings: Users can add properties with details such as room type, price, and location.
  • CRUD Operations: Complete create, read, update, and delete functionality for user profiles and property listings.
  • Advanced Filtering: Filter properties by room type (house, flat, farmhouse), purpose (rent, sell), offers, furnishing status, parking availability, and more.
  • User Authentication: Secure login and authorization using Firebase and JWT.
  • Admin Dashboard: Restricted access for admins to manage user accounts and property listings.
  • Image Handling: Seamless property image uploads and management via Firebase.
  • Restricted Routes: Secured routes for both users and admins.
  • Contact Form: Integrated with EmailJS for efficient communication.

Getting Started

Prerequisites

  • Node.js and npm installed
  • VS Code or any other code editor
  • Git (optional, for cloning the repository)

File Structures

client/
├── public/
│   └── logo.svg                       # Logo file
├── src/
│   ├── assets/                        # Images and other assets
│   ├── redux/                         # State management
│   ├── pages/                         # Page components
│   ├── components/                    # Reusable UI components
│   ├── App.jsx                        # React Router setup
│   └── main.jsx                       # Application entry point
├── .env                               # Environment variables
└── index.html                         # Root HTML file
api/
├── controllers/                       # Core logic
├── db/                                # Database connection
├── models/                            # Data schemas
├── routes/                            # API routes
├── utils/                             # Helper functions
├── .env                               # Environment variables
└── index.js                           # Main server file

Setup Instructions

  1. Clone the Repository

    git clone https://github.com/yourusername/gher.com.git

    Unzip the File

  2. Open with VS Code

    Open the project directory with VS Code or your preferred code editor.

  3. Install Dependencies


**Frontend:**

- Navigate to the frontend directory:

  ```bash
  cd frontend
  • Create a .env file in the backend directory and add the following environment variables:

    VITE_API_KEY=your_firebase_api_key
    VITE_AUTH_DOMAIN=your_firebase_auth_domain
    VITE_PROJECT_ID=your_firebase_project_id
    VITE_STORAGE_BUCKET=your_firebase_storage_bucket
    VITE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
    VITE_APP_ID=your_firebase_app_id
    VITE_BACKEND_URL = your_backend_url (http://localhost:4000)
  • Install the dependencies:

    npm install
  • Run the development server:

    npm run dev

Backend:

  • Navigate to the backend directory:

    cd backend
  • Create a .env file in the backend directory and add the following environment variables:

    PORT=4000
    MONGO_URI=your_mongodb_connection_string
    JWT_SECRET=your_jwt_secret_key
    NODE_ENV = development
  • Install the dependencies:

    npm install
  • Start the server:

    npm run dev

4. Update API URLs

Ensure that the API URLs in your frontend code are correctly pointing to your local backend server. Update the VITE_BACKEND_URL in the .env file (as mentioned in the previous step).

5. Access the Application

After everything is set up:

  • Open your browser and navigate to http://localhost:5173 to view the application.
  • Ensure the frontend loads correctly and communicates with the backend server.

6. Deployment

  • Deploy the frontend to Vercel and the backend to your preferred hosting service.
  • Ensure the environment variables are properly set in the respective hosting platforms.

Live Links

Contact

For any questions, feedback, or collaboration opportunities, feel free to contact me at ahadali.reach@gmail.com.

About

A full-stack web application for buying, selling, and discovering properties. Includes features for creating and managing listings, along with advanced filtering options.

Topics

Resources

Stars

Watchers

Forks

Languages

0