Guardar en la nube
URL: http://www.savetothecloud.com/

INTRODUCCIÓN
Nombre de la universidad: http://www.sjsu.edu/
Curso: Cloud Technologies
Profesor: Sanjay Garje
Isa: Divyanthika Urs
Estudiante: Anuradha Rajashekar
Idea de proyecto
- 'Guardar en la nube' es una aplicación web completa que se trata principalmente de almacenar y guardar archivos al aprovechar la infraestructura en la nube.
- Esta aplicación se centra en las operaciones de CRUD en todos los archivos cargados por el usuario.
- El objetivo principal de este proyecto era optimizar la pila de archivos utilizando API para cargar, recuperar, eliminar y almacenar archivos en S3 y acelerar la velocidad y el rendimiento.
- Esta aplicación le permite tener una cuenta privada para todo el almacenamiento de sus archivos y acceder a ella cuando sea necesario. .
Características de esta aplicación
Se puede acceder a la nube a través del nombre de dominio: http://www.savetothecloud.com. Compatible tanto en escritorio como en teléfonos inteligentes.
La lista de características proporcionadas por la aplicación es la siguiente:
Página de registro: para que un nuevo usuario ingrese toda la información relevante que se recopila y almacena en la base de datos. 
Página de inicio de sesión: para que un usuario existente inicie sesión con credenciales disponibles y acceda a la aplicación.
Página sobre mí: para detalles del usuario y pasatiempos y detalles generales sobre el usuario.
Opción de carga: para que el usuario cargue archivos para el almacenamiento en Amazon S3.
Recuperar todos los archivos opción: para recuperar cualquier archivo cargado previamente
Eliminar la opción: para eliminar archivos ya no requerido por el usuario.
Opción de actualización: para actualizar archivos ya cargados. La aplicación redirigirá a los usuarios para cargar un nuevo archivo nuevamente con la actualización / revisión.
La aplicación muestra lo siguiente en la página 'Recuperar'.
• Nombre del usuario
• Apellido del usuario
• Tiempo de carga de archivos
• Nombre del archivo/ descripción
• Tiempo de actualización del archivo
Página de recursos: el usuario puede encontrar enlaces a toda la tecnología utilizada en esta aplicación.
Enlace a los usuarios de Facebook, LinkedIn, Gmail y otra cuenta de redes sociales a un clic de distancia. 
Arquitectura DIGRAM para este proyecto

Prerrequisitos:
- Cree una cuenta de Amazon y navegue a la consola en Amazon AWS.
- Cree un cubo en S3 y cargue archivos y verifique la configuración en S3 y establezca el ciclo de vida (S3-> S3IA-> Glacier).
- Enlace su cubo S3 con CloudFront para descargar el tráfico en el cubo S3.
- Esta aplicación se implementa en el entorno elástico de Beanstalk, donde crea un entorno activando la instancia de EC2, el grupo de escala automática para mantener la disponibilidad durante la interrupción, el equilibrio de carga elástica para asegurarse de que la carga en las instancias se distribuya y Amazon RDS (MySQL) como base de datos.
- Las alarmas de reloj de la nube están configuradas para verificar el estado de instancias saludable.
- Lambda Funcion to Repiver Cloud Watch Alerts y envíe una notificación al usuario con respecto al evento.
- Consulte amablemente (https://aws.amazon.com/documentation/) para obtener más detalles sobre cada configuración.
Lista de software requerido:
- Front End: Angular JS, Materialize (modelo, vista, script de controlador Java)
- Lado del servidor: nodo JS, Express JS, Multer, AWS-SDK
- Base de datos: Amazon RDS (MySQL)
- Infraestructura de la nube de Amazon (Elastic Beanstalk, CloudWatch, SNS, Lambda, etc.)
INTERFAZ-
- Angular JS (modelo, vista, controlador) y materializar se usan para la parte delantera. CSS se utiliza para la estructura elegante de la interfaz de usuario.
Lado del servidor-
- NodeJS y ExpressJS se usa para la funcionalidad de Back End junto con AWS-SDK para varias funciones como Putobject, GetObject, ListObject, etc. en S3.
BASE DE DATOS-
- La base de datos relacional de MySQL se utiliza para almacenar y recuperar los datos del usuario. Este servicio se proporciona a mi Amazon RDS como PaaS.
- Las "tablas" se crean en la base de datos para rastrear el nombre de usuario del usuario, el último nombre y otros registros.
Instrucciones para configurar el proyecto localmente:
- Clon el proyecto anterior en su repositorio local (enlace de clonos: https: //github.com/anuradhaiyer/awscloud-project.git)
- Vaya a la carpeta donde se clona el proyecto, verifique el archivo Package.json donde se mencionen todas las dependencias para el proyecto.
- Instale Node.js en su sistema. Enlace para iinstalling- (https://nodejs.org/en/).
- Hemos incluido "AWS-SDK" para acceder a S3 desde Amazon, por lo que agregar eso como una dependencia en el archivo Package.json.
- Server.js contiene la lógica del lado del backend/servidor en esta aplicación.
- La funcionalidad frontal está escrita en la carpeta Angular JS (consulte la carpeta "Vistas" en el proyecto anterior)
- Para ejecutar este proyecto, vaya a la carpeta donde los archivos para este proyecto están disponibles-> Abra gitbash/cmd-> Ejecutar "NPM Install" para instalar todos los módulos de nodo localmente. Para iniciar el servidor, escriba el comando "Node Server JS". La aplicación se ejecutará en el Port mencionado en el código. Ej: "Localhost: 8081/"
- Use Sublime o Notepad ++ para el código de edición e inicie el servidor después de la edición.