Coder Social home page Coder Social logo

cmpe281-cloud-project-2's Introduction

Travel Diary: CMPE281 - Cloud Project #2

View Demo

Contributors


Project Introduction:

Project Objective:

Travel diary application that goes beyond the traditional pen-and-paper format. This digital platform allows users to store and view images related to their travel experiences. What sets this application apart is its integration of artificial intelligence (AI) and machine learning (ML) models for image analysis, along with features like text translation and sentiment analysis.

The project's impact lies in offering a comprehensive and intelligent solution for documenting travel experiences. It goes beyond the basic functionalities of traditional travel diaries by leveraging AI to organize, translate, and add emotional context to entries. The application's relevance is evident in its ability to address common challenges faced by travelers, making it a valuable tool for those seeking a more enriched and technologically advanced way to capture and remember their journeys. The potential societal impact, through enhanced cultural understanding, adds an additional layer of significance to the project.

Features

  • Image Analysis
  • Image Categorization
  • Text Translation
  • Audio Pronunciation
  • Sentiment Analysis
  • Optical Character Recognition
  • File Cloud Storage

Sample Demo Screenshots

Creating a new Account

Create Account

Login into Account

Login

Home Page (Image Analysis and Tagging)

Image Analysis and Tagging

Text Translate

Text Translate

Optical Character Recognition (Extract Text From Images)

OCR

Architecture Diagram

Architecture Diagram

Pre-requisites Set Up

Cloud Configuration

Before running the project, make sure to set up the following resources in your cloud account:

  • IAM User (With appropriate permissions)
  • S3 Bucket
  • CloudFront Distribution
  • RDS
  • AWS Cognito (from CLI / CloudFormation)
  • EC2
  • Load Balancer
  • Auto Scaling Groups
  • Route 53
  • AWS Lambda (from CLI / CloudFormation)
  • SNS

Local Software Requirements

Make sure you have the following software installed on your local machine:

  • NodeJS
  • NPM
  • AWS CLI
  • AWS Amplify CLI
  • VSCODE IDE
  • IntelliJ
  • MySQL Workbench
  • JDK 11
  • Maven
  • PostMan

Local Configuration

Setting Up Cloud Credentials Locally

  1. Create IAM User

  2. Grant Admin Access to Manage and Create Resources

  3. Create access keys (remember to save them)

  4. Configure Amplify with IAM User

    $ amplify configure

Local Project Configuration

[Provide instructions on how to configure the project locally, if applicable]

How to Set Up and Run the Project Locally

  1. Clone the Repository:
$ git clone https://github.com/Harshil-V/CMPE281-Cloud-Project-2

$ cd CMPE281-Cloud-Project-2

Frontend

1. Change Directory to /frontend

$ cd frontend

2. Install Dependencies

$ npm i # or npm install

3. Initialize Amplify

$ amplify init # complete the steps

4. Add Amplify Auth

$ amplify add auth # complete the steps

Note: Use 'Default configuration' and 'Sign In with Username'

5. Push to Publish AWS Resouces Config for Frontend

$ amplify push 

Note: This uses CloudFromation

6. Make any change to API Endpoint on the code

$ npm run dev # application will be accessible at `http://localhost:5173/``

Note: Update baseURL where needed

Backend (Spring Boot)

Note: Have a JDK installation on your system. Either set the JAVA_HOME environment variable pointing to your JDK installation or have the java executable on your PATH.

This project uses JDK 11. To check your JDK version installed locally:

$ java -version

1. Change Directory to /backend

$ cd frontend

2. Run the below Maven cmd

$ mvn clean install

3. Run the below Maven cmd to create a jar in target folder

$ mvn clean package

4. To run the Spring boot application using jar

$ java -jar target/travel-app-0.0.1-SNAPSHOT.jar

5. To run the Spring boot application using Maven

$ mvn spring-boot:run

Backend (nodeJS)

1. Change Directory to /NLPfunctionality

$ cd NLPfunctionality

2. Install Dependencies

$ npm i # or npm install

3. Open Code Editor and create a .env file

4. Add values to AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_DEFAULT_REGION

$ npm start # application will be accessible at `http://localhost:4000/`

cmpe281-cloud-project-2's People

Contributors

harshil-v avatar mkarthikkamath avatar mohithgowdaa avatar ahmedzaytoun 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.