This is the frontend to the RTZ (pronounced Routes) project. It is a fork of the comma connect frontend with some changes to update dependencies, remove tracking, and enable its usage in RTZ.
- Removed Google Analytics
- Removed Sentry
- Removed Plausible analytics
- Removed custom Comma analytics
- Installed Renovate to keep dependencies up to date
- Removed HERE API geocoding based on Comma networks RPC call
- Remove billing-related code
- User-configurable Mapbox token. The style is public at Mapbox
- Updated all dependencies to latest versions
- Install pnpm: https://pnpm.io/installation
- Install dependencies:
pnpm install
- Start dev server:
pnpm dev
If you don't have a comma device, connect has a demo mode with some example drives. This should allow for testing most functionality except for interactions with the device, such as getting the car battery voltage.
- Use best practices
- Write test cases
- Keep files small and clean
- Use branches / pull requests to isolate work. Don't do work that can't be merged quickly, find ways to break it up
There's a ton of them, but these are worth mentioning because they sort of affect everything.
React
- Object oriented components with basic lifecycle callbacks rendered by state and prop changes.Redux
- Sane formal global scope. This is not a replacement for component state, which is the best way to store local component level variables and trigger re-renders. Redux state is for global state that many unrelated components care about. No free-form editing, only specific pre-defined actions. Redux DevTools can be very helpful.@mui
- Lots of fully featured highly customizable components for building the UIs with. Theming system with global and per-component overrides of any CSS values.react-router-redux
- Mindlessly simple routing with convenient global access due to redux