# Client roadmap - key points ### Reducing Technical Debt (Near term) - Set convention for the directories (https://www.taniarascia.com/react-architecture-directory-structure/) + readme - Set convention for components (what and when) (https://medium.com/wesionary-team/types-of-react-components-you-should-know-251cceacd8ac) + readme - keep in mind - impact of using states (via XState) - ability to reuse data / logic components (vs display components) Follow up epics - prioritized gap list of work to be done, including creating component tests - Standardize component libraries - remove bootstrap, bootstrap icons, poppper, etc and integrate mui Separate - State mgmt: e.g. XState - Logging framework e.g. winston that can have a transport to Sentry or can Sentry do this? ### Design considerations - Accesibility / internationalisation - Security: e.g. a package like Helmet; QA scanning options - Browser support ### Reducing Technical Debt (Long term) - Refactor routing/navigation to optimize loading process - Add complex/e2e/performance component & integration tests ### Logging / Monitoring / Metrics (Near term) - Define key user flows and use Sentry to (trace users)/(capture errors) - Integrate google analytics? ### SEO Optimization (Near term) - React helmet - Simplify routing ### SEO Optimization (Long term) - Partial server-side rendering & react hydration ### Usability - Incorporate/Highlight useful information - Pages can get too long, allow the user to quickly scan for information - e.g. navigation panel - Home pages includes relevant user activity at a glance - e.g. dashboard - Navigating to a project/opportunity can be frustrating - Add ability to pin/unpin ecoverses/challenges/opportunities/projects - Involve community as much as possible - e.g. add ability to give feedback through email, dedicated matrix channel, etc. ### Features - Add messaging capabilities - Add global search - Brand recognition (Explicit designer involvement) - e.g.