Our tech stack is carefully chosen to provide the best development experience while maintaining high performance and reliability. Here's what you need to get started:
1. Install Node.js (v18+)
2. Install pnpm: npm install -g pnpm
3. Clone the repository
4. Run pnpm install
5. Start the development server
Framework
We use Expo and React Native as our primary framework. This allows us to:
- Develop for both iOS and Android simultaneously
- Leverage native device features
- Use hot reloading for faster development
- Access Expo's extensive library of pre-built components
State Management
Zustand is our choice for state management because it's:
- Simple and lightweight
- TypeScript-friendly
- Has minimal boilerplate
- Supports middleware and devtools
- Perfect for both local and global state
Styling
We use NativeWind (powered by Tailwind CSS) for styling:
- Utility-first CSS approach
- Consistent design system
- Responsive layouts
- Dark mode support
- Custom theme configuration
Build Tools
Our build process is handled by:
- pnpm: Fast, disk space efficient package manager
- Metro bundler: React Native's default bundler
- Custom build scripts for different environments
Our app follows a modular architecture:
- Feature-based directory structure
- Atomic design principles
- Custom hooks for business logic
- Service layer for API interactions
- Type-safe data fetching
Contributing
We welcome contributions! Please follow our guidelines:
1. Fork the repository
2. Create a feature branch
3. Follow our coding standards
4. Write tests
5. Submit a pull request