...
Programming Languages / Platforms / Architectures
LearningBuilder is primarily written in ASP.NET MVC using C#, with a decent amount of custom JavaScript. We haven't adopted a SPA framework yet but have started to leverage Vue.js in some areas of the app.It is a large, but reasonably well-organized, monolith consisting of a handful of core assemblies plus the web project. Our long-term vision is less monolithic and more a federation of independent services working together. We 've begun exploring that vision by using a message bus (RabbitMQ) and an "integration hub" to handle integration and process coordination needs.
We use SASS to take some of the pain out of CSS.
A lot of our development utilities are written in Ruby and we use Powershell for some production automation tasks.
Our primary database is SQL Server 2014+, and we Elasticsearch to power some of our publicly-accessible search features.haven't fully adopted a SPA framework yet but are starting to leverage Vue.js in newer parts of the app.
We use:
- ASP.NET MVC
- SQL Server 2014+
- SQL Server Service Broker / RabbitMQ, for messaging
- ElasticSearch, for publicly-available search features
- SASS, to take some pain out of CSS
- Ruby and Powershell, to automate our development process
Developers run the full stack locally.
Data Access
All database schema changes are fully scripted (using a homegrown utility) and are source-controlled like everything else. We maintain a shared database snapshot in a known good state so that you're only ever one command-line tool away from restoring a local database with staged data.
...