# Technical Overview ## Our Stack - NodeJS - MongoDB - Redis - Nginx (not required) - VueJS ### Frontend The frontend is a [vue-cli](https://github.com/vuejs/vue-cli) generated, [vue-loader](https://github.com/vuejs/vue-loader) single page app, that's served over Nginx or Express. The Nginx server not only serves the frontend, but can also serve as a load balancer for requests going to the backend. ### Backend The backend is a scalable NodeJS / Redis / MongoDB app. User sessions are stored in a central Redis server. All data is stored in a central MongoDB server. TheRedis and MongoDB servers are replicated to several secondary nodes, which can become the primary node if the current primary node goes down. We currently only utilize 1 backend, 1 MongoDB server and 1 Redis server running for production, though it is relatively easy to expand.