cynicaloptimist / improved-initiative

Rastreador de combate para Calabozos y Dragones (D&D) 5ª Edición

La app oficial de Improved Initiative vive en https://www.improved-initiative.com

Desarrollo local

Requisitos

  • Node.js (v12+)

Configuración

  • Clonar el repo en una carpeta de tu ordenador
  • Abrir la carpeta clonada en un editor de código como Visual Studio Code
  • Abrir una ventana de terminal (Powershell es la aplicación de terminal recomendada para este proyecto)
  • Ejecutar los siguientes comandos en la ventana de Terminal para construir el código del entorno de desarrollo:
npm installnpx grunt
  • Para conseguir que el servidor dev se ejecute, puede:
    • Pulsar F5 en Visual Studio Code o
    • En una nueva ventana de terminal ejecutar npm run start
  • Una vez que el servidor se está ejecutando, visite http://localhost en un navegador web para ver una versión de desarrollo de la UI que responde a sus cambios de código.
  • Cada vez que realices un cambio, espera a que termine de compilarse y luego recarga manualmente tu navegador.

El desarrollo de Iniciativa Mejorada se apoya a través de Patreon.

Para saber más sobre cómo contribuir con código a Iniciativa Mejorada, consulta CONTRIBUIR.md.

Linting

Improved Initiative utiliza Eslint con prettier para lintar los archivos de código.

Linting ocurre automáticamente en el commit, pero también puedes ejecutarlo manualmente a través de: npm run lint.

Configuración de la aplicación

Puedes configurar tu instancia de Iniciativa Mejorada con estos ajustes. Todos son opcionales, la funcionalidad básica debería funcionar si no se especifica ninguno.

  • PORT – Por defecto a 80
  • NODE_ENV – Poner en «producción» para satisfacer react, poner en «desarrollo» para deshabilitar la caché de la vista html.
  • BASE_URL – Se utiliza en las URLs absolutas en el lado del cliente. Vuelve a las urls relativas si no está disponible. Esta es la URL canónica para el callback de Patreon y el localStorage del navegador.
  • SESSION_SECRET – Se utiliza para mantener la continuidad de la sesión a través de reinicios de la aplicación o algo así. Se entrega a express-session.
  • DEFAULT_ACCOUNT_LEVEL – Se ajusta a «accountsync» o «epicinitiative» para conceder recompensas a todos los usuarios. Útil si no tienes DB.
  • DEFAULT_PATREON_ID – Establecer el id de usuario Patreon ficticio cuando se ejecuta con DEFAULT_ACCOUNT_LEVEL establecido.
  • DB_CONNECTION_STRING – Proporcionar una cadena de conexión DB para el almacenamiento de la sesión y la cuenta de usuario. En la memoria Mongo DB se utilizará de otra manera, que se borra en el reinicio de la aplicación.
  • METRICS_DB_CONNECTION_STRING – Proporcionar una cadena de conexión DB para escribir métricas a.
  • PATREON_URL, PATREON_CLIENT_ID, PATREON_CLIENT_SECRET – Configuración para la integración de Patreon

Docker

La ejecución de la Iniciativa Mejorada dentro de Docker es posible, pero completamente opcional y actualmente experimental. Proceda con precaución y, en caso de duda, consulte la documentación de Docker.

Construir la imagen Docker

Para construir la imagen Docker con una construcción de desarrollo, ejecute:

docker build -t improved-initiative:latest .

Para construir la imagen con una construcción de producción, ejecute:

docker build --build-arg NODE_ENV=production -t improved-initiative:prod .

Ejecutar la aplicación en un contenedor Docker

Para iniciar la aplicación dentro del contenedor, ejecute:

docker run -p80:80 --name improved-initiative improved-initiative:latest

O, para ejecutar la construcción de producción:

docker run -p80:80 --name improved-initiative improved-initiative:prod

Detener y eliminar el contenedor

Suponiendo que has iniciado el contenedor con el nombre improved-initiative como se muestra arriba, los siguientes comandos detendrán el contenedor y luego lo eliminarán:

docker stop improved-initiative

docker rm improved-initiative

Licencia

La aplicación Iniciativa Mejorada está disponible bajo la licencia MIT.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.