Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PropertyHub

"Mini Node.js property listing app — AWS internship task"

🔗 Live Demo: https://selling-property.onrender.com

Selling-Property 🏠

A mini full-stack property listing website built with Node.js and Express, deployed on AWS EC2.

This project was built as part of my Cloud Computing Internship task to demonstrate deploying a Node.js backend application on an AWS EC2 instance.

Features

  • Browse property listings (apartments, villas, plots)
  • Search and filter properties by location, type, and max price
  • View detailed information for each property
  • Add new property listings through a form
  • Delete existing listings
  • Responsive, clean UI

Tech Stack

  • Backend: Node.js, Express.js
  • Frontend: EJS (Embedded JavaScript templates), HTML, CSS
  • Data Storage: JSON file (lightweight, no external database required)
  • Deployment: AWS EC2 (Amazon Linux)
  • Process Manager: PM2 (keeps the app running continuously on the server)

Project Structure

​ Selling-Property/

├── app.js # Main Express server file

├── package.json # Project dependencies

├── data/

│   └── properties.json     # Property listings data

├── views/

│   ├── index.ejs           # Homepage with listings & search

│   ├── property-detail.ejs # Single property detail page

│   └── add-property.ejs    # Add new property form

└── public/

    └── css/
    
        └── style.css        # Stylesheet

Running Locally

  1. Clone this repository: git clone https://github.com/Rv777master/Selling-Property.git cd Selling-Property

  2. Install dependencies: npm install

  3. Start the server: node app.js

  4. Open your browser and go to: http://localhost:3000/

Deployment (AWS EC2)

This app is deployed on an AWS EC2 instance (Amazon Linux). Steps taken:

  1. Launched a t2.micro EC2 instance with Amazon Linux
  2. Configured security group to allow inbound traffic on port 3000
  3. Connected via SSH and installed Node.js and Git
  4. Cloned this repository onto the server
  5. Installed dependencies with npm install
  6. Ran the app persistently using PM2: pm2 start app.js --name Selling-Property
  7. Accessed the live app via the EC2 public IP address

Author

Built by [Rudresh Vyas] as part of an AWS Cloud Computing Internship.

About

"Mini Node.js property listing app — AWS internship task"

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages