____ ____ __ .__
\ \ / /_____/ |_ _____|__|
\ Y // __ \ __\/ ___/ |
\ /\ ___/| | \___ \| |
\___/ \___ >__| /____ >__|
\/ \/
Vetsi es un REST API con el que puedes hacer trading de acciones de la bolsa de balores NASDAQ.
Vetsi esta construido con Ruby 3.0.2, asegurate de tener instalada esta versión en tu entorno local. Si no sabes como isntalar Ruby te recomiendo hacerlo con rbenv, para eso sigue las siguientes instrucciones.
Descargar e instalar ruby con Rbenv
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
dkr-setup Build vetsi app on Docker.
dkr-start Start and lunch the vetsi on Docker.
dkr-test Run test suite (Rspec).
docs Generate documentation (Rdoc).
rubocop Run linter (Rubocop).
setup Install dependencies from Gemfile.
start Start web server locally.
test Run test suite (Rspec).
Vetsi cuenta con toda la documentción necesaria y ejemplos del uso del API en el siguiente link:
También si así lo requieres el código esta documentado, y podras encontras el detalle del uso y funcionamiento de las clases dentro de
la carpeta doc
.
Una vez que hayas instalado Ruby 3.0.2 ejecuta el siguiente comando para instalar el proyecto localmente:
$ make setup
Para que puedas probar el proyecto en tu local solo ejecuta el siguiente comando:
$ make start
lo anterior arrancara un web server para que puedas hacer peticiones en la siguiente ruta:
http://localhost:4567
Y porque estamos en el 2022 y nadie lo pidió, también puedes ejecutar el proyecto sobre Docker, solo asegurate de tenerlo instalado, sino sabes cómo, 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
Si el proyecto arranco de manera correcta, deberas de ver el siguiente mensaje en tu navegador:
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
- Run tests
El deploy se hace en Heroku por medio de semaphore.
El testing se hace con Rspec, si quieres ejecutar la suite de pruebas solo ejecuta el siguiente comando:
$ make test
o si esta ejecutando Vetsi sobre Docker ejecuta:
$ make dkr-test
Para salva guardar las buenas practicas, guias de estilo y evitar code smell este proyecto hace uso de Rubocop
, sono necesitas ejecutar el siguiente comando:
$ make rubocop
Vetsi esta hosteado en Heroku en la ruta:
https://vetsi.herokuapp.com
Dentro de la documentación de postmane encontraras en environment de production
para que puedas realizar pruebas sobre producción.
Vetsi is open-sourced software licensed under the MIT license.