trustroots
trustroots copied to clipboard
Frameworks overview
This is an overview into various framework update/refactoring needs:
Major effort
- [ ] Migrate from AngularJS to React: React migration overview, AngularJS end of support. In progress. ⏳
- [ ] Support translations at Node.JS backend and email templates; we use i18n-next in React code, but we should also support translations at the backend, and especially in emails. Overview
- [ ] Upgrade Bootstrap; either migrate to latest or upgrade to another framework (https://github.com/Trustroots/trustroots/issues/1390)
- [ ] Upgrade codebase to promises; we use a lot of
async
library currently, which also should be upgraded from v2 toasync
v3. Instead of callbacks and helper framework, we should write the code in promises directly. - [ ] Implement a data layer https://github.com/Trustroots/trustroots/issues/1416
- [ ] Consider moving away from less to SASS and/or CSS-in-JS.
Medium effort
- [ ] Migrate to ESM modules from CommonJS
- [ ] Upgrade React to v17 https://reactjs.org/blog/2020/10/20/react-v17.html
- [x] Migrate out of Travis CI, as it stopped working for us. https://github.com/Trustroots/trustroots/issues/2389
- [ ] Upgrade to Webpack 5 https://github.com/Trustroots/trustroots/pull/1793
- [ ] Migrate away from Gulp task runner; move to pure NPM scripts and/or Webpack. https://github.com/Trustroots/trustroots/issues/1149
- [ ] Refactor/simplify access control layer https://github.com/Trustroots/trustroots/issues/802
- [ ] Remove boilerplate in tests. Lots of tests are very elaborate and can be simplified. Needs overview issue.
- [x] Remove Stathat (unused for a while already, we do alerting with Grafana these days) https://github.com/Trustroots/trustroots/pull/2129
- [ ] Upgrade to MongoDB v4 https://github.com/Trustroots/trustroots/pull/2399 and Mongoose v6 https://github.com/Trustroots/trustroots/pull/2400 — requires running migration on production, and updating deprecated methods.
- [ ] Upgrade Agenda job runner. Attempted at https://github.com/Trustroots/trustroots/pull/2415 but reverted in https://github.com/Trustroots/trustroots/pull/2420. New try in https://github.com/Trustroots/trustroots/pull/2443 In progress. ⏳
- [ ] Upgrade push notifications infra (Firebase) to latest; I think they even stopped working due to us being so much behind.
- [ ] Upgrade Jest https://github.com/Trustroots/trustroots/pull/2346 and related test libraries to latest; needs updating some deprecated methods. https://github.com/Trustroots/trustroots/pull/2367 https://github.com/Trustroots/trustroots/pull/2281
Small effort
- [ ] Move from icon font to pure SVG files
- [ ] Add Stylelint and linter for CSS-in-JS
- [ ] Use variables for global things (colors, padding, etc) in CSS-in-JS instead of hardcording them.