A feature-rich mobile notes application built with React Native and Expo. Create, organize, and manage your notes with ease using categories, search functionality, and a clean, intuitive interface.
- User Authentication - Secure signup and login system
- Create Notes - Add notes with titles, content, and categories
- Organize by Category - Categorize notes (Personal, Work, Ideas, Important)
- Search Notes - Find notes quickly with the search functionality
- Edit Notes - Update existing notes anytime
- Delete Notes - Remove notes you no longer need
- User Profile - View and manage your profile information
- Persistent Storage - All data is securely stored locally using AsyncStorage
- Responsive Design - Beautiful UI that works on all mobile devices
- React Native - Cross-platform mobile framework
- Expo - Development platform and runtime
- React Navigation - Navigation library for React Native
- AsyncStorage - Local data persistence
- Ionicons - Beautiful icon library
react-native-notes-app/
βββ src/
β βββ screens/
β β βββ Auth/
β β β βββ LoginScreen.js
β β β βββ SignupScreen.js
β β β βββ RegisterScreen.js
β β βββ Notes/
β β β βββ NotesListScreen.js
β β β βββ AddNoteScreen.js
β β β βββ EditNoteScreen.js
β β β βββ NoteDetailScreen.js
β β βββ Profile/
β β βββ ProfileScreen.js
β βββ navigation/
β β βββ RootNavigator.js
β β βββ AuthNavigator.js
β β βββ AppNavigator.js
β βββ components/
β β βββ Button.js
β β βββ CategoryTabs.js
β β βββ NoteCard.js
β β βββ SearchBar.js
β βββ utils/
β β βββ storage.js
β β βββ validation.js
β βββ constants/
β β βββ categories.js
β β βββ colors.js
β βββ context/
β βββ AuthContext.js
βββ assets/
βββ App.js
βββ app.json
βββ package.json
- Node.js (v14 or higher)
- npm or yarn
- Expo CLI (optional but recommended)
-
Clone the repository
git clone <repository-url> cd react-native-notes-app
-
Install dependencies
npm install
-
Start the development server
npx expo start
-
Run on a device or simulator
- Press
ifor iOS simulator - Press
afor Android emulator - Press
wfor web browser - Or scan the QR code with Expo Go app on your mobile device
- Press
- Launch the app
- Tap "Signup" on the login screen
- Enter your name, email, and password
- Tap "Create Account"
- Log in to your account
- Navigate to the Notes tab
- Tap the "+" button
- Enter note title (optional) and content
- Select a category
- Tap "Save Note"
- View Note: Tap any note in the list to see full details
- Edit Note: Open a note and tap edit to modify it
- Delete Note: Tap the trash icon on a note card
- Search Notes: Use the search bar at the top (if available)
- Tap the Profile tab
- View your account information
- Tap "Logout" to sign out
- Secure user registration with email validation
- Password-protected login
- Automatic session management
- Store unlimited notes locally
- Each note includes:
- Title (optional)
- Content (required)
- Category
- Creation and update timestamps
Available note categories:
- Personal
- Work
- Ideas
- Important
- All user data stored locally using AsyncStorage
- No cloud dependency - your data stays on your device
- Automatic data synchronization
- Solution: Make sure you're logged in. Try logging out and logging back in.
- Solution: Clear Expo cache and restart with
npx expo start --clear
- Solution:
- Check that you're logged in
- Ensure you created notes while logged in
- Pull down to refresh the notes list
- Solution:
- Clear AsyncStorage by uninstalling and reinstalling the app
- Check console for specific error messages
npm testAndroid:
eas build --platform androidiOS:
eas build --platform iosThe project follows React Native best practices and uses consistent formatting.
- Passwords are stored locally - never share your credentials
- Data is stored unencrypted on device - ensure physical device security
- For production, consider implementing encryption for sensitive data
- Cloud synchronization
- Note sharing between users
- Rich text formatting
- Image attachments
- Voice notes
- Reminders and notifications
- Dark mode support
- Export notes as PDF
Contributions are welcome! Please feel free to submit pull requests or report issues.
This project is open source and available under the MIT License.
For issues, questions, or suggestions, please open an issue on the project repository.
- Initial release
- User authentication
- Note creation, editing, and deletion
- Category organization
- User profile management