"Mini Node.js property listing app — AWS internship task"
🔗 Live Demo: https://selling-property.onrender.com
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.
- 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
- 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)
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
-
Clone this repository: git clone https://github.com/Rv777master/Selling-Property.git cd Selling-Property
-
Install dependencies: npm install
-
Start the server: node app.js
-
Open your browser and go to: http://localhost:3000/
This app is deployed on an AWS EC2 instance (Amazon Linux). Steps taken:
- Launched a t2.micro EC2 instance with Amazon Linux
- Configured security group to allow inbound traffic on port 3000
- Connected via SSH and installed Node.js and Git
- Cloned this repository onto the server
- Installed dependencies with
npm install - Ran the app persistently using PM2: pm2 start app.js --name Selling-Property
- Accessed the live app via the EC2 public IP address
Built by [Rudresh Vyas] as part of an AWS Cloud Computing Internship.