BriteCore's Technology

BriteCore is built on modern technology. Below is an overview of the current technology stack, architecture, key technology components, languages used, and API protocols employed in BriteCore.
 

 Frontend

  • Javascript
    • knockout.js for newer pages
    • Mootools.js for older pages (Migrating to Knockout.js)
  • HTML
    • JINJA2 - Deliverables Templating
    • Mako - Screen Renders
  • CSS
    • CSS3 with backwards compatibility to IE9
    • SCSS preprocessor

 

Backend

  • Scripting: Python 2.7.9 / Slow migration to Python 3.5+ underway.
  • Reports: Pandas / Jupyter
  • Databas: MySQL / Aurora
  • Key/Value Store: Redis
  • Messaging: Rabbit MQ
  • Documents
    • JINJA2 - newer configurable documents
    • LATEX - older stock documents (Migrating to JINJA2)
  • Tests
    • Unit Tests - pytest
    • Integration Tests - Selenium with our own published open source wrappers
  • Framework
    • Web.py (currently)
    • Flask port (likely in 2017)

 

Devops

  • Servers: ECS
  • Database: RDS
  • File Storage: S3
  • Search: Elastic Search
  • Reporting: Autoscale Group
  • Caching: Elasticache
  • Logs: Kibana 4
  • Monitoring: Icinga
  • Testing: Jenkins
  • Sitewide query: RunDeck
  • Repo: GitHub
  • Access: IAM
  • Provisioning:
    • Salt Stack: Development Environment
    • Puppet: Deployment Environment (Migrating to Salt)