npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

proyecto-sytw-alex-moi

v0.0.31

Published

Module to build a book on GitBook

Downloads

54

Readme

Sistemas y Tecnologías Web. Proyecto Final

Introducción

El proyecto final de la asignatura, consistirá en realizar un nuevo paquete. Con él, se conseguirá desplegar tanto en el Iaas como en Heroku, un book. Además se podrán registrar usuarios en el servicio web.

##Instalación

npm install -g proyecto-sytw-alex-moi 

Tutorial para su ejecución

Para ejecutar, ponemos el siguiente comando:

proyecto-alex-moi [opciones]

[opciones] serían:

  • -a: Especificar el autor del gitbook
  • -n: Especificar el nombre del gitbook
  • -c: Especificar el nombre del directorio donde crear el gitbook
  • -u: Especificar la url del repositorio git
  • -h: Help (ayuda)
  • -v: Versión del paquete
  • --ip: Especificar ip en caso de despliegue en Iaas
  • --path: Especificar ruta en caso de despliegue en Iaas

A continuación explicaremos como podemos desplegar el paquete y que es necesario exactamente.

Paquete para el despligue en IAAS

Lo primero es configurar las SSH Keys.

SSH keys

Para conectarnos a la máquina del iaas, tenenmos que tener configurado la vpn de la ULL, y poder configurar un alias para conectarnos más rápidamente por ssh. Para ello crearemos en ~/.ssh un fichero config con el siguiente contenido:

Host sytw
	HostName dir_ip_máquina
	User usuario

Introduzca el siguiente comando ssh-copy-id usuario@direccion-servidor-iaas Con esto podremos conectarnos sin ningún problema a la máquina. También es necesario tener generado en la máquina del iaas las claves para utilizar repositorios Github. Puede encontrar la documentación apropiada en este link.

Creación de la estructura

Para crear la estructura de directorios del Gitbook ejecutamos:

proyecto-alex-moi -c nombre_directorio -u https://github.com/usuario/ejemplo.git --ip 10.6.128.1 --path /home/usuario (sin '/' al final de la ruta)

Y luego ejecutamos desde nombre_directorio:
npm link proyecto-sytw-alex-moi

Elija la opcion 1. Una vez instalado y ejecutado, en la carpeta que se ha creado hacemos:

npm install
gulp build
git init
git remote add origin url(del repositorio que ha puesto en la opcion -u)
git add .
git commit -m "haciendo cambios"
git push origin master
gulp deploy-iaas

Lo siguiente es acudir a nuestra máquina del IAAS y donde se ha creado la nueva carpeta ejecutar:

npm install
mongod --smallfiles
node server.js (en otra terminal)

Su servicio estrá desplegada en http://ip:8080

Uso de la aplicación

Podrá disponer de un servicio web donde se registren, muestren los datos del usuario, acceda al book o en el caso de ser administrador, borrar cuentas de usuario. Para esto último es importante que registre una cuenta con el siguiente email: [email protected], puesto que es la única cuenta que tiene esa posibilidad.

Paquete para el despligue en Heroku

Creación de la estructura

Para crear la estructura de directorios del Gitbook ejecutamos:

proyecto-alex-moi -c nombre_directorio -u https://github.com/usuario/ejemplo.git

Y luego ejecutamos desde nombre_directorio:
npm link proyecto-sytw-alex-moi

Elija la opcion 2.

Una vez instalado y ejecutado, en la carpeta que se ha creado hacemos:

npm install
gulp build
git init 
heroku git:remote -a nombreapp 
gulp deploy-heroku

LLegados a este punto ya tendremos nuestra aplicación en heroku desplegada y funcionando.

Uso de la aplicación

Podrá disponer de un servicio web donde se puede:

  1. Registrar y mostrar los datos de un usuario
  2. Acceder al book de la aplicación
  3. Descargar el book en pdf

En el caso de ser administrador también se permite: 5. Añadir/borrar cuentas de usuario 6. Establecer permisos de administrador a un usuario 7. Eliminar dichos privilegios de un usuario que los posea.

En la base de datos se encuentra creada una cuenta con el siguiente email: [email protected], que es el admin de la aplicación. Es IMPORTANTE que entre en la cuenta de este usuario con ese email y password: admin y modifique la password del mismo dado que sino cualquier usuario podrá acceder a ella como admin y manipularla a su antojo.

####Google authentication Los pasos a seguir para conseguir la autenticación mediante google en la aplicación son los descritos en el siguiente tutorial: Documentación

Los formatos de las rutas de origen deben ser similares a estos:

  • c9: http://nameworkspace.c9users.io:8080
  • localhost: http://localhost:8080
  • heroku: https://nameapp.herokuapp.com

Los formatos de las rutas de callback deben ser similares a estos:

  • c9: http://nameworkspace.c9users.io:8080/auth/google/callback
  • localhost: http://localhost:8080/auth/google/callback
  • heroku: https://nameapp.herokuapp.com/auth/google/callback

Una vez hecho esto bastará con copiar nuestro id, secret y callback en el fichero auth.js y luego descargar el json y meterlo en nuestro directorio. Es importante añadir el json(sección credenciales de la página) a nuestro directorio puesto que sino la autenticación mediante google no funcionará.

####Facebook authentication Los pasos a seguir para poner en funcionamiento la autenticacion con facebook son los que se exponen a continuación.

Lo primero será dirigirnos a la web Facebook developers y registrarnos en la pagina, te pedirá si aun no lo tienes hecho que confirmes tu cuenta mediante el envío de un código de verificación al móvil.

Una vez estas registrado, creas una nueva aplicación en la sección mis aplicaciones y te saldrá un cuadro como este : enter image description here

Rellenamos nuestro tu correo, nombre de aplicación y en categoría seleccionamos 'aplicaciones para paginas'. A continuación introducir el captcha que nos pide.

En el menu de la izquierda de la pagina a la que nos redirecciona ir a Revisión de la Aplicación. Marcar SI donde se pregunta ¿Quieres que tu aplicación sea pública?.

A continuación hacer click en el menu de la izquierda en Panel. Luego copiamos nuestro id y nuestro secret en el fichero auth.js de nuestro directorio, cada uno en su correspondiente lugar y añadimos la callback

Los formatos de las rutas de callback deben ser similares a estos:

  • c9: http://nameworkspace.c9users.io:8080/auth/facebook/callback

  • localhost: http://localhost:8080/auth/facebook/callback

  • heroku: https://nameapp.herokuapp.com/auth/facebook/callback

Volviendo a la pagina de developers de facebook en la sección de Panel hacemos clic en Elegir plataforma y luego clic en Sitio Web. Esto nos redirecciona a otra pagina, en ésta lo único que debemos hacer es dirigirnos al final del todo, a esta sección:

Y colocar la url de nuestra página por ejemplo, continuando con los ejemplos anteriores, la url debería tener la forma siguiente:

  • c9: http://nameworkspace.c9users.io:8080
  • localhost: http://localhost:8080
  • heroku: https://nameapp.herokuapp.com

Depliegue

Versión del paquete

  • Este paquete está actualizado. Utilice la última versión

Enlaces importantes

Autores