/stoic-compose

Entry point for deploying and running Stoic

Primary LanguageNginx

Stoic

Master repo and composer for Stoic

The (over)Architecture so far

Architecture

Goals

Stoic was built with the intention of exploring microservice architecture design and management. The primay goal is to have highly encapsulated services that may be developed, tested, deployed, and scaled as needed. Another area of exploration is in continous deployment of the individual services. Each service is individually tested (unit tests + travis) and containerized (docker) which is enough to have some continuous deployment, though perhaps not sufficient enough for real world use as it's still lacking functional and integration tests (TODO?).

Microservices

Here are the services so far:

Build Status Coverage Status React - The front end map service in react

Build Status Coverage Status Users - User registration, account management, and authorization service

Build Status Coverage Status Blog - Blog posts and blurbs service

Build Status Coverage Status Geo - Geolocation services such as point collection, line creation for map traces, and trip analysis

Build Status Coverage Status Trips - Trip model and creation

Build Status Coverage Status Images - Image uploads and processing

Running

Install Docker and Docker Compose then run:

docker-compose build
docker-compose up

Environment Flags

There are a handful of environment variables to be configured. Some of the most helpful for debugging are: FLASK_DEBUG - Set to 1 for debug logging from Flask

SSL_DISABLE - Set to True to disable SSL when developing or debugging

Buzzword Checklist

  • Agile
  • AI
  • Augmented reality
  • Automated
  • Blockchain
  • Cloud
  • Concurrent
  • Containerized
  • Continous integration/continuous delivery
  • Distributed
  • Data driven
  • Data visualization
  • ETL
  • Framework
  • Internet of things
  • NoSQL
  • Microservice
  • Mobile
  • REST
  • Responsive
  • Scalable
  • Test driven development
  • Web app