/IIC2173-Arqui

IIC2173 Arquitectura de Sistemas de Software - Proyecto

Primary LanguageJavaScript

Arquiyalt

circleciB telegramBotB gitflowB commitsB standard-versionB

Table Of Contents

Project structure

folder content
.circleci Continuous integration using Circle CI
api Our own koa api. Comunicates with the central api
docker Docker deploy configuration
email Email client (koa, nodemailer and mail-notifier)
pdf The course project's pdfs
queue Order queue client (koa and kue)
queue-visualizer Order queue visualizer (kue)
scripts Scripts for running locally and performing tasks
telegram Our telegram bot using bot-brother
web Angular 2 web client

Deploy

The app is deployed in a docker swarm on the arqss machines

All the following links should work

Important routes

route content
http://arqss2.ing.puc.cl The web app
http://arqss2.ing.puc.cl/api/ Our api
http://arqss2.ing.puc.cl/queue/ Our queue
http://arqss2.ing.puc.cl/v/ A swarm visualizer
http://arqss2.ing.puc.cl/qv/ Our queue-visualizer for the queue
http://arqss2.ing.puc.cl/admin?stats HAProxy stats (user: u, pass: p)

Development

Working with the whole project locally is easy.
All you need is docker and docker-compose and then run the following:

# Builds docker images from source
# Runs those images
bash scripts/run.sh

This runs the app in the following urls

URL app
http://localhost:3000 api
http://localhost:3001 email
http://localhost:3002 queue
http://localhost:3003 queue-visualizer
http://localhost:8080 web

Other available commands

bash scripts/stop.sh              # Stop the project docker containers
bash scripts/cleancontainers.sh   # Remove all docker containers
bash scripts/cleanimages.sh       # Remove all docker containers and images

References