Notez combines local-first privacy with seamless cloud synchronization. Built with React Native, Expo, and SQLite, Notez ensures your notes remain instantly available offline while offering encrypted cloud backup with Firebase, biometric security lock, Markdown rendering, rich text editing via Quill, custom ambient themes, and full revision history.
- βοΈ Rich Text & Markdown Editor: WYSIWYG rich text editor powered by Quill with full Markdown preview, live formatting toolbar, code highlight, and inline media.
- π AES-256 Vault & Biometric Lock: Keep sensitive notes protected with PIN / Biometric authentication (Fingerprint / Face ID) and client-side encryption.
- β‘ Local-First SQLite Database: Lightning-fast offline performance with local SQLite database storage for instant load times.
- βοΈ Firebase Cloud Sync: Optional multi-device automatic synchronization powered by Firebase Authentication & Firestore.
- π·οΈ Labels & Categorization: Color-coded custom labels, note pinning, favoriting, and smart filtering.
- π¨ Ambient Dark & Glassmorphism Themes: Modern UI with procedural mesh gradients, glassmorphism cards, and customizable color schemes.
- π Version History & Recycle Bin: Full version history tracking for every note edit and a safe recycle bin with restore support.
- π€ Export & Import: Export notes as Markdown, PDF, Plain Text, or compressed ZIP backup bundles.
Notez Architecture
βββ Frontend: React Native (Expo SDK 54, React 19)
βββ Navigation: React Navigation (Native Stack)
βββ Local Storage: Expo SQLite & AsyncStorage
βββ Security: Expo Local Authentication & Crypto-JS (AES-256)
βββ Rich Text: React Native Quill & Custom Markdown View
βββ Cloud Infrastructure: Firebase Authentication, Firestore Database, Firebase Storage
Notez/
βββ assets/ # App icons, splash screens, and static images
βββ src/
β βββ components/ # Reusable UI components (NoteCard, GlassCard, CustomDialog...)
β βββ config/ # Firebase & app configuration
β βββ constants/ # Color palettes, design tokens, and theme definitions
β βββ context/ # Global Context providers (ThemeContext)
β βββ db/ # SQLite schema definitions & initialization routines
β βββ hooks/ # Custom React hooks (useDialog)
β βββ navigation/ # App navigation configuration & stack definitions
β βββ screens/ # App screens (HomeScreen, EditorScreen, SettingsScreen...)
β βββ services/ # Business logic (NoteService, SyncService, BackupService...)
βββ App.tsx # Root application entry point
βββ app.json # Expo configuration manifest
βββ index.ts # App startup entry point
- Node.js (v18 or higher recommended)
- npm or yarn
- Expo Go app or Android Studio / Xcode (for local emulator testing)
-
Clone the repository:
git clone https://github.com/MZarc/Notez.git cd Notez -
Install dependencies:
npm install
-
Start the Expo development server:
npm start
-
Run on Android device/emulator:
npm run android
- Create a Firebase project at the Firebase Console.
- Enable Authentication (Google Sign-In method).
- Create a Cloud Firestore database.
- Copy your Firebase web app configuration into
src/config/firebase.ts:export const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_PROJECT.firebaseapp.com", projectId: "YOUR_PROJECT_ID", storageBucket: "YOUR_PROJECT.firebasestorage.app", messagingSenderId: "YOUR_SENDER_ID", appId: "YOUR_APP_ID" };
- For Android native Google Sign-In, download
google-services.jsonfrom your Firebase Android app settings and place it in the project root directory (refer togoogle-services.json.example).
This project is open-source software licensed under the MIT License.
Made with β€οΈ for privacy and seamless note-taking.