1.5 KiB
Project Rules
Architecture
- Electron typescript/react app is in
js/desktopfolder - Mobile react native expo app is in
js/mobile - Orion is the api server which lives in the
go/folder along with other workers, jobs, services cpp/points to our prototype of a C++ Qt widgets client
Whenever implementing anything, make sure to take into account best practices without over-engineering.
Electron App
Quality
We care about overall architectural quality and keeping consistent patterns according to best practices. Feel free to move stuff around to make things more elegant, instead of bolting on features.
Another tradeoff we make is simpler, maintainable code over clever behavior.
As an example, we have as high of a bar as a product team like Linear and Apple, which outputs high quality software. Let's avoid slop at all costs.
Comments
Don't add non-essential comments everywhere. Clean them up if so.
Package Manager
- Use yarn (not npm) for all dependency management
Design system
Whenever possible, we should use the design system components. If we need to add a new component from the available ones in shadcn, we should add it to the design system (using shadcn add _) and use it in the app.
Implementation completeness
When adding a feature on the client side, make sure that the api actually supports it by just checking orion implementation all the way through.
IF you find that the API is poorly designed, please suggest changes to improve the client experience.