abuzzany / capculator

This is the tech challenge for software engineer position at capital technologies

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status JavaScript Style Guide

Capculator ⚙️🧮

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.

Pre-requisitos

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:

Descarga NodeJS

Antes de comenzar

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

Instalación

Para instalar el proyecto solo ejecuta desde tu terminal el sigiuente comando:

make setup

Documenación

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:

Capculator Docs

Guía Uso

Para que puedas probar el proyecto en tu maquina solo ejecuta el siguiente comando:

make start

esto abrirá en tu browser el proyecto.

capculator

Demo en vivo

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:

Demo

Docker

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:

Descargar Docker

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

CI/CD

El pipeline de Continuous integration y Continuous delivery (CI/CD) del proyecto corre sobre SemaphoreCI. El pipeline de CI contempla 4 fases:

  1. Install dependencies
  2. Code analysis
  3. Build project
  4. Run tests

si el pipeline se rompe en cualquiera de estos escenarios no se podrá hacer deploy del sitio.

ci/cd

Tests

El testing se hace con Jest, si quieres ejecutar la suite de pruebas solo ejecuta el siguiente comando:

make test

Guía de estilo

Se siguen las guías de estilo de Airbnb, para cuidar y atuomatizar las reglas de estilos se hace uso de JavaScript Standard Style .

Licencia

Capculator is open-sourced software licensed under the MIT license.

About

This is the tech challenge for software engineer position at capital technologies


Languages

Language:JavaScript 77.1%Language:HTML 10.6%Language:CSS 6.7%Language:Makefile 3.4%Language:Dockerfile 1.7%Language:Shell 0.6%