A modern, feature-rich note-taking application built with React Native and Expo.
- Create, edit, and delete notes
- Rich text formatting
- Categories and tags for organization
- Search functionality
- Offline support
- Dark/Light theme
- Cross-platform (iOS, Android, Web)
- Framework: React Native with Expo
- Language: TypeScript
- Build Tool: EAS (Expo Application Services)
- State Management: React Context + useReducer
- Storage: Expo SQLite + AsyncStorage
- Navigation: React Navigation v6
- UI Library: React Native Paper (or custom components)
src/
├── components/ # Reusable UI components
│ ├── common/ # Generic components
│ ├── notes/ # Note-specific components
│ ├── forms/ # Form components
│ └── ui/ # Basic UI elements
├── screens/ # Screen components
│ ├── notes/ # Note-related screens
│ ├── settings/ # Settings screens
│ └── search/ # Search screens
├── navigation/ # Navigation configuration
├── hooks/ # Custom React hooks
├── services/ # API calls, data services
├── storage/ # Local storage utilities
├── utils/ # Helper functions
├── constants/ # App constants
├── types/ # TypeScript type definitions
├── contexts/ # React contexts for state
└── styles/ # Theme and styling
- Node.js (v16 or higher)
- npm or yarn
- Expo CLI
- EAS CLI
-
Install dependencies:
npm install
-
Start the development server:
npm start
-
Build for development:
eas build --profile development
npm start- Start Expo development servernpm run android- Run on Android device/emulatornpm run ios- Run on iOS device/simulatornpm run web- Run in web browser
eas build --profile developmenteas build --profile previeweas build --profile productioneas submit --platform ios
eas submit --platform android- User-First: Intuitive and clean interface
- Performance: Fast and responsive
- Accessibility: Support for screen readers and accessibility features
- Offline-First: Works without internet connection
- Cross-Platform: Consistent experience across all platforms
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if needed
- Submit a pull request