Community Source Code Contribution

BriteCore allows client and vendor partners to enhance the core system through code contribution. After completing our developer training, participants gain access to BriteCore's source code repository for projects related to implementation, innovation, and support. Incoming modifications submitted by clients and partners to the base software package must contain tests for all critical business logic and meet the criteria of our Sentinel Review Checklist. From there, all modifications go through an approval process by a senior BriteCore engineer before being merged into the master source code repository. To learn more about how you and your team can directly shape the future of the platform, request a discovery call below. 

Here's How It Works

BriteCore's client-driven development model allows client engineers and partners to effectively expand BriteCore's range and functionality on their own. We have processes in place to make sure engineers and partners are well trained and can control their company's product roadmap and development priorities without intervention from BriteCore staff. 

1_britecore_customer.png

1. Provider becomes a BriteCore customer.

4_developer_britecore_repository.png

4. Developers work on and submit code to BriteCore's repository.

2_britecore_training.png

2. Provider's developers go through BriteCore training.

5_quality_assurance.png

5. Incoming code must pass strict testing and QA guidelines.

3_britecore_repository.png

3. Developers gain access to BriteCore's repository.

code_merged.png

6. Passing code gets merged directly into the system.

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)