Capculator es una aplicación web, cuya principal función es emular el funcionamiento de una calculadora para realizar operaciones aritméticas básicas tales como suma, resta, multiplicación y división.
Esta aplicación aunque es un sitio estático, hace uso de NodeJS para poder trabajar con los módulos de ES6, ejecutar unit tests y generar los compilados de los archivos estáticos.
Asegurate de tener instalado NodeJS en su versión 14.4.0 o superior, lo puedes hacer en la siguiente liga:
El proyecto tiene un Makefile para simplificar el uso de comando engorrosos y repetitivos, si quieres ver la lista de comandos y su documentación solo ejecuta:
make help
build Build the project
clean Remove node_modules and dist directories
dkr-setup Build dockerfile and install the project
dkr-start Start and lunch the project on the browser based of a docker container
setup Install dependencies
start Start and lunch the project on the browser
test Run suit test
docs Generate docs
Para instalar el proyecto solo ejecuta desde tu terminal el sigiuente comando:
make setup
La documentación de este proyecto es generada por JSDoc de manera automática en cada deploy. En la siguiente liga puedes encontrar la documentación oficial:
Para que puedas probar el proyecto en tu maquina solo ejecuta el siguiente comando:
make start
esto abrirá en tu browser el proyecto.
Si prefieres ver el proyecto en vivo sin necesidad de instalarlo, lo puedes hacer desde la siguiente liga, el sitio está hosteado en un bucket S3 de AWS:
Y porque estamos en el 2020 y nadie lo pidió, también puedes ejecutar el proyecto sobre Docker, solo asegurate de tenerlo instalado, sino sabes como, lo puedes hacer desde la siguiente liga:
Una vez instalado docker ejecuta los siguientes comando para construir la imagen y luego lanzar el contenedor que contendrá el proyecto:
make dkr-setup
make dkr-start
El pipeline de Continuous integration y Continuous delivery (CI/CD) del proyecto corre sobre SemaphoreCI. El pipeline de CI contempla 4 fases:
- Install dependencies
- Code analysis
- Build project
- Run tests
si el pipeline se rompe en cualquiera de estos escenarios no se podrá hacer deploy del sitio.
El testing se hace con Jest, si quieres ejecutar la suite de pruebas solo ejecuta el siguiente comando:
make test
Se siguen las guías de estilo de Airbnb, para cuidar y atuomatizar las reglas de estilos se hace uso de JavaScript Standard Style .
Capculator is open-sourced software licensed under the MIT license.