{"id":23088255,"url":"https://github.com/leju-b/airbnb-clone-deployed-ec2","last_synced_at":"2026-03-01T16:04:00.214Z","repository":{"id":253046706,"uuid":"671597904","full_name":"leju-b/AirBnb-Clone-deployed-EC2","owner":"leju-b","description":"This project demonstrates the deployment of a React Vite application on an Amazon EC2 instance. The application is a basic clone of Airbnb, showcasing fundamental features and design. NGINX is used to manage and run the application in the background.","archived":false,"fork":false,"pushed_at":"2024-08-15T12:52:35.000Z","size":734,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-24T04:37:37.334Z","etag":null,"topics":["aws-ec2","deployment","nginx","react"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leju-b.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-27T17:26:55.000Z","updated_at":"2025-02-04T07:17:28.000Z","dependencies_parsed_at":"2025-02-09T05:41:13.195Z","dependency_job_id":"b81eecb7-e5eb-407b-a617-e39f2e56430e","html_url":"https://github.com/leju-b/AirBnb-Clone-deployed-EC2","commit_stats":null,"previous_names":["leju-b/airbnb-clone"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/leju-b/AirBnb-Clone-deployed-EC2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leju-b%2FAirBnb-Clone-deployed-EC2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leju-b%2FAirBnb-Clone-deployed-EC2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leju-b%2FAirBnb-Clone-deployed-EC2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leju-b%2FAirBnb-Clone-deployed-EC2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leju-b","download_url":"https://codeload.github.com/leju-b/AirBnb-Clone-deployed-EC2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leju-b%2FAirBnb-Clone-deployed-EC2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29974330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T15:41:30.362Z","status":"ssl_error","status_checked_at":"2026-03-01T15:37:07.343Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-ec2","deployment","nginx","react"],"created_at":"2024-12-16T20:16:20.151Z","updated_at":"2026-03-01T16:04:00.186Z","avatar_url":"https://github.com/leju-b.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# React Vite App Deployment on EC2 with NGINX\n\n**Author**: Leju B  \n**Date**: 15/08/2024\n\n---\n\n## **Overview**\n\nThis project demonstrates the deployment of a React Vite application on an Amazon EC2 instance. The application is a basic clone of Airbnb, showcasing fundamental features and design. NGINX is used to manage and run the application in the background.\n\n## **Project Description**\n\nThe application is a basic React Vite-based clone of Airbnb. It was deployed on an EC2 instance, and NGINX was configured to serve the application efficiently and keep it running in the background.\n\n## **Deployment Steps**\n\n1. **Setting Up EC2 Instance**:\n   - Launched an EC2 instance using Amazon Web Services (AWS).\n   - Configured security groups to allow HTTP/HTTPS traffic.\n\n2. **Deploying the React Vite App**:\n   - Uploaded the React Vite application to the EC2 instance.\n   - Built the application for production using Vite.\n\n3. **Installing NGINX**:\n   - Installed NGINX on the EC2 instance to serve the application.\n   - Configured NGINX to serve the application files and run it in the background.\n\n4. **Verification**:\n   - Accessed the deployed application by using the public IP address of the EC2 instance. (Instance not running anymore)\n\n## **Features**\n\n- **React Vite Application**: A modern React application built with Vite, providing a fast and optimized development experience.\n- **Basic Airbnb Clone**: Showcases core features and layout similar to Airbnb.\n- **NGINX Configuration**: Ensures the application runs smoothly and efficiently in a production environment.\n\n## **NGINX Configuration**\n\n### **Location of NGINX Configuration File**\n\nThe NGINX configuration file is typically located at:\n\n```\n/etc/nginx/nginx.conf\n```\n\nFor site-specific configurations, you will edit or create a configuration file in:\n\n```\n/etc/nginx/sites-available/\n```\n\nAnd then create a symbolic link to this file in:\n\n```\n/etc/nginx/sites-enabled/\n```\n\n### **Steps to Edit the Configuration**\n\n1. **Open the NGINX Configuration File**:\n\n   To edit the global NGINX configuration file:\n   ```bash\n   sudo nano /etc/nginx/nginx.conf\n   ```\n\n   To edit a site-specific configuration file (e.g., `myapp`):\n   ```bash\n   sudo nano /etc/nginx/sites-available/myapp\n   ```\n\n2. **Edit the Configuration for Your Application**:\n\n   Add or update the server block for your application. Below is an example configuration:\n\n   ```nginx\n   server {\n       listen 80;\n       server_name your_domain_or_public_ip;\n\n       root /path/to/your/react-vite-app/dist;\n       index index.html;\n\n       location / {\n           try_files $uri $uri/ /index.html;\n       }\n\n       error_log /var/log/nginx/error.log;\n       access_log /var/log/nginx/access.log;\n   }\n   ```\n\n   - **`server_name`**: Replace `your_domain_or_public_ip` with your domain or the public IP address of your EC2 instance.\n   - **`root`**: Set this to the path where your React Vite application's `dist` folder is located on the EC2 instance.\n\n3. **Enable the Site Configuration**:\n\n   Create a symbolic link to the `sites-enabled` directory:\n   ```bash\n   sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/\n   ```\n\n4. **Test the Configuration**:\n\n   Before reloading NGINX, test the configuration to ensure there are no syntax errors:\n   ```bash\n   sudo nginx -t\n   ```\n\n5. **Reload NGINX**:\n\n   Apply the changes by reloading NGINX:\n   ```bash\n   sudo systemctl reload nginx\n   ```\n\n### **Troubleshooting**\n\n- **Configuration Errors**: Check the NGINX error log located at `/var/log/nginx/error.log` for any issues.\n- **Application Not Showing**: Ensure that the React Vite application is correctly built and the `dist` folder is in the specified location.\n\n## **Screen Recording**\n\nA screen recording of the deployment process is available [here](#). It demonstrates the steps taken to deploy the application and configure NGINX.\n\n## **Usage**\n\n1. **Accessing the Application**:\n   - Open a web browser and navigate to the public IP address of the EC2 instance. (Instance not running anymore)\n\n2. **Configuration**:\n   - NGINX is configured to serve the application on port 80. Adjust configurations as needed in the NGINX configuration file.\n   - Configure Vite if you want a preview of the app and ensure security groups configuration.\n\n## **Notes**\n\n- Ensure the EC2 instance has sufficient resources to handle the application's traffic.\n- For production environments, consider setting up SSL/TLS for secure communication.\n\n## **Future Improvements**\n\n- Add HTTPS support for secure connections.\n- Implement automatic deployment pipelines using CI/CD tools.\n- Enhance the application's features and design.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleju-b%2Fairbnb-clone-deployed-ec2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleju-b%2Fairbnb-clone-deployed-ec2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleju-b%2Fairbnb-clone-deployed-ec2/lists"}