ramyakandasamy7 / project2Cloud

0 stars 0 forks source link

Garage Gym Project Information

University Name: San Jose State Unversity

Project URL: Garage Gym

Course: Cloud Technologies

Professor: Sanjay Garje

Students:

Project Introduction

GymGarage is an online-platform that connects local gym owners to gym enthusiasts. Gym owners can list their home gyms (along with description and cost per use) and decline/accept requests. Gym enthusiasts can search for gyms, submit requests, and do payment all on this platform.

Sample Demo Screenshots

Login and Registration

Screen Shot 2019-12-08 at 3 10 27 PM Screen Shot 2019-12-08 at 3 11 24 PM Screen Shot 2019-12-08 at 3 16 06 PM

Administrator Capabilities:

Upload Gym

Screen Shot 2019-12-08 at 3 17 55 PM

Accept/Decline Requests

Screen Shot 2019-12-08 at 3 18 42 PM

Receive Emails when a Reservation has been made

Screen Shot 2019-12-08 at 3 19 23 PM

User Capabilities:

Search and Select a Gym

Screen Shot 2019-12-08 at 3 32 12 PM Screen Shot 2019-12-08 at 3 34 17 PM

Pay for Gym

Screen Shot 2019-12-08 at 3 35 37 PM Screen Shot 2019-12-08 at 3 35 59 PM

Cancel Request:

**Pre-requisites Set Up** Here include bullet point list of resources one need to configure in their cloud account. (E.g. For AWS: S3 buckets, CloudFront etc): * S3 bucket * CloudFront * EC2s: 2 ECs per region with load balancer in each region (us-west & us-east) * Route 53 * DynamoDB - 5 Tables with Global Table Configuration * Lambda/SNS (in development) List of required software to download locally (E.g. Spring, JDK, Eclipse IDE etc. ) ## Required Software To Run Locally #### Software Requirements * Ubuntu 18.04 EC2 * Git * NodeJS * Apache2 * PHP * vim/nano #### Local Configuration 1. Clone/fork the repository from github. `$ git clone https://github.com/ramyakandasamy7/project2Cloud.git` 2. Install all necessary software `$ sudo apt update; sudo apt install nodejs apache2 php` 3. Go into project2Cloud/ramyasAPIs and project2Cloud/raymondsAPIs and install the dependencies ``` $ cd project2Cloud/ramyasAPIs $ npm install $cd ../raymondsAPIs $npm install ``` 4. Point Apache2 /var/www/html directory to project2Cloud/jedsUI. Look at /etc/apache/apache.conf and add the following to the tag `` ``` Options Indexes FollowSymLinks AllowOverride None Require all granted Header always set Access-Control-Allow-Origin "*" Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" Header always set Access-Control-Max-Age "1000" Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token" ``` `$ sudo ln -s /home/ubuntu/project2Cloud/jedsUI /var/www/html` Note: You may need to delete the /var/www/html directory first. 5. Restart Apache2. The root directory of Apache should point to jedsUI directory now which is where the homepage of the project resides. You may open a browser and check localhost. `$ sudo service apache2 restart` #### Another important NOTE: Because the UI uses each EC2's public IP to make API calls, the application will only fully work in an EC2 with public IP. #### Yet another important NOTE: API keys and secret keys are not included in the code, so really, without them, you can only look at the front page of the project.