Technical Workshop 2024
PSA: The goal is to create a productive and engaging workshop that fosters clear communication and helps everyone align on the best architectural approaches.
Workshop Topics
1. Internationalization (i18n) Structure
- Goal: Establish a clear and consistent pattern for organizing language translations.
- Discussion Points:
- Should we adopt a
ScreenOrComponent.Text
format (e.g.,t("LoadingPlaceholder.Connection")
)? - How do we handle commonly used phrases like "Cancel" or "Accept"?
- Are there other naming conventions or organizational structures we should consider?
- Should we adopt a
2. Customization Levels
- Goal: Make the application easier to customize at different levels without overwhelming developers with a complex theming system.
- Discussion Points:
- Simple Style Overrides: How can we enable easy overrides for basic styles like button borders or colors?
- Component Replacement: What's the best way to allow teams to completely replace a component with their own custom implementation?
- Navigation Customization: How do we handle overrides for navigation elements while maintaining a consistent user experience?
Additional Considerations (Optional)
- Include a section on best practices and tools for internationalization and customization.
- Theming
- Toasters? Yes/No/Maybe
- Dark Mode / Light Mode
- Backwards Compatible (when something is added, it shouldn't break)
- Logos/Images
If time permits, a hands-on exercise or example could help solidify understanding.
3. NPM namespace
- Goal: Migrate to a new namespace so that we can leave the "aries"
- Discussion Points:
- We need to migrate away from the use of the "aries" name in our packages
- This can be done at the same time as we move to release 1.0.0 of the bifold package
4. File System Organization
- Goal: To better organize the project structure is it is easier to reason about and maintain
- Discussion Points:
- Rename "App" to "src"
- There are two "app" in Bifold where there should be one, probably at the root of the project.
5. Upgrade React Native and use Expo
- Goal: To better maintain forward compatibility with RN and other related projects
- Discussion Points:
- Update to lates RN
- Looks as through Expo is not the oficial package management system