The Mattermost web app is written in JavaScript using React and Redux.
It is powered by mattermost-redux which handles the majority of the logic, client-side storage and server communication.
https://github.com/mattermost/mattermost-webapp
Find help wanted tickets here.
The main directories are:
actions - Redux action creators and other logic actionscomponents - React UI componentsi18n - Localization files and utilitiesplugins - Plugin utilities, documentation and componentsreducers - Web app specific Redux reducersselectors - Web app specific Redux selectorstests - Unit and component testsutils - General utilities and constants