Git Product home page Git Product logo

stayspot's Introduction

StaySpot : AWS integrated web-application!

Author : Jay Ramani

Getting Started

Description:

StaySpot is a web-based platform for booking accommodations, where property owners can list their properties by providing essential details. Users can browse through all the properties listed on the platform, make reservations, cancel reservations, and save properties as favorites.

The main objective of this project is to incorporate various AWS services to enhance the functionality and performance of StaySpot. By leveraging AWS services, the project aims to improve aspects such as scalability, security, reliability, and user experience, ultimately making StaySpot a robust and efficient platform for property owners and users alike.

Prerequisites:

Before using this project, you'll need to have the following installed:

  • Node version 18.0 or higher
  • Mongo version 6.0 or higher
  • A text editor (Visual Studio Code, Atom, Sublime Text, etc.)
  • Git
  • npm version 8.0 or higher

Installation:

To install this project, follow these steps:

  1. Clone the repository: git clone https://github.com/jayramani/StaySpot.git
  2. Navigate to the backend directory: cd StaySpot/backend
  3. Install the backend dependencies: npm install
  4. Start the server: npm start
  5. Navigate to the frontend directory: cd StaySpot/frontend
  6. Install the frontend dependencies: npm install
  7. Navigate back to the project directory: npm start

Environment Variables:

This project requires the following environment variables to be set:

  • MONGO_URI=<MONGO_CONNECTION_STRING>
  • SECRET=<JWT_SECRET>
  • REGION=<AWS_REGION>
  • ACCESS_KEY_ID=<AWS_ACCESS_KEY>
  • SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY>
  • SESSION_TOKEN=<AWS_SESSION_TOKEN>

Application Architecture

VPC Configuration WhatsApp Image 2023-04-12 at 21 17 58

API Gateway - SQS - Lambda Configuration for email notification EmailDia drawio

All of the cloud mechanisms work together seamlessly to deliver my application. The EC2 instances host both the backend and frontend of my application and communicate through the VPC network. I have used S3 to store images of hotels and resorts, and API Gateway to manage and secure my RESTful APIs. Additionally, I have implemented a serverless architecture using Lambda and SQS to automatically send emails to users. Secret Manager is used to securely store my MongoDB URI and API keys. Overall, this combination of cloud mechanisms provides a scalable, flexible, and reliable infrastructure to deliver my application.

AWS Services Used

Service Purpose
EC2 To deploy my code on highly customizable virtual server
Lambda To configure serverless archirecture that send the email to the users
S3 To store the images of hotels and resorts and display it on web page
Virtual Private Cloud To provide a secure and isolated network environment to my application - configured subnets, scurity groups as well
API Gateway To create an API that takes the data from the backend and put it on AWS SQS
SQS To hold the message from the API Gateway that will trigger the lambda
Secrets Manager To store the API Keys, Mongo Credentials
DynamoDB To store the property details added by the users

Home Page

Homepage

Signup Page

Signup

Reservation Page

Reservation

Favourite Page

Favourite

Property Details Page

Details page

Review Property Page

Review

stayspot's People

Contributors

jayramani avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.