ChatNotes is a lightweight mobile app that combines real-time chat and personal note-taking. Built with React Native + TypeScript using Clean Architecture (MVVM), this app is designed to be modular, maintainable, and scalable.
- 🔐 Login with Firebase Authentication
- 💬 Lightweight real-time chat via WebSocket
- 📝 Personal notes stored locally
- 📥 Chat history saved offline using SQLite
- 🔔 Push notifications with Firebase Cloud Messaging (FCM)
- 🧠 Clean Architecture with MVVM separation
- ✅ Unit test support for ViewModels and services
| Layer | Technology |
|---|---|
| UI | React Native (TypeScript) |
| Architecture | Clean Architecture (MVVM) |
| Authentication | Firebase Auth |
| Chat | WebSocket (custom client) |
| Local Storage | SQLite (react-native-sqlite-storage) |
| Notifications | Firebase Cloud Messaging |
git clone https://github.com/ayash12/chatnotes-app.git
cd chatnotes-appnpm installnpx pod-installnpx react-native run-androidnpx react-native run-ios- Add
google-services.jsontoandroid/app/ - Add
GoogleService-Info.plisttoios/ - Enable Firebase Authentication and Firebase Cloud Messaging on the Firebase Console
firebase@react-navigation/nativereact-native-sqlite-storagereact-native-push-notificationreact-native-gesture-handlerreact-native-safe-area-contextreact-native-reanimated
MIT License © 2025 - Ayash Abdus Syahiid