{"id":29698526,"url":"https://github.com/vixalien/flutter-notes-app","last_synced_at":"2025-07-23T10:09:07.383Z","repository":{"id":303313985,"uuid":"1015058100","full_name":"vixalien/flutter-notes-app","owner":"vixalien","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-06T23:59:35.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-07T00:35:20.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vixalien.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-06T23:52:29.000Z","updated_at":"2025-07-06T23:59:38.000Z","dependencies_parsed_at":"2025-07-07T00:35:22.988Z","dependency_job_id":"eee1b9fd-e526-419a-a368-f7b5f1b720f3","html_url":"https://github.com/vixalien/flutter-notes-app","commit_stats":null,"previous_names":["vixalien/flutter-notes-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vixalien/flutter-notes-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixalien%2Fflutter-notes-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixalien%2Fflutter-notes-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixalien%2Fflutter-notes-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixalien%2Fflutter-notes-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vixalien","download_url":"https://codeload.github.com/vixalien/flutter-notes-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixalien%2Fflutter-notes-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266658455,"owners_count":23963688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-23T10:09:06.731Z","updated_at":"2025-07-23T10:09:07.370Z","avatar_url":"https://github.com/vixalien.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📝 Flutter Notes App — Individual Assignment 2\n\nThis is a mobile note-taking application built with Flutter and integrated with Firebase. The app supports authentication using email and password, and provides full CRUD operations for notes using Firestore.\n\n\n## 📱 Features\n\n* ✅ Firebase Email/Password **Authentication**\n* ✅ **Add**, **View**, **Update**, and **Delete Notes**\n* ✅ **User-specific notes** using subcollections\n* ✅ **“Nothing here yet”** hint for new users\n* ✅ **SnackBar** for success/error messages\n* ✅ **Circular Loader** on first fetch\n* ✅ Clean state management using **Provider**\n* ✅ Proper separation of concerns (Clean Architecture)\n* ✅ Logout support\n* ✅ Responsive UI\n\n\n## 💠 Setup Instructions\n\n### ✅ Prerequisites\n\n* Flutter installed\n* Firebase CLI installed\n* Android Studio or compatible emulator/physical device\n\n\n### 🔧 Firebase Setup\n\n#### 1. Create Firebase Project\n\n* Visit [Firebase Console](https://console.firebase.google.com/)\n* Create a new project (e.g., `notes-app-assignment`)\n* Add a new Android app to the project:\n\n  * **Package Name**: `com.example.notes_app`\n  * Download the generated `google-services.json`\n  * Place it inside `android/app/`\n\n#### 2. Enable Firebase Services\n\n* Enable **Email/Password Authentication** under the **Authentication** tab\n* Create a **Cloud Firestore** database in **production mode**\n\n#### 3. Set Firestore Security Rules\n\n```js\nrules_version = '2';\nservice cloud.firestore {\n  match /databases/{database}/documents {\n    match /users/{userId}/notes/{noteId} {\n      allow read, write: if request.auth != null \u0026\u0026 request.auth.uid == userId;\n    }\n  }\n}\n```\n\n\n### 📆 Project Installation\n\n```bash\ngit clone https://github.com/vixalien/flutter-notes-app.git\ncd flutter-notes-app\nflutter pub get\nflutter run\n```\n\n\n## 📁 Folder Structure\n\n```\nlib/\n├── data/\n│   └── note_repository.dart        # Firestore logic\n├── models/\n│   └── note.dart                   # Note model\n├── providers/\n│   └── note_provider.dart          # State manager\n├── screens/\n│   ├── login.dart                  # Login UI\n│   ├── signup.dart                 # Signup UI\n│   └── notes.dart                  # Main Notes UI\n└── main.dart                       # App entry and provider setup\n```\n\n\n## 🥪 Dart Analyzer\n\nTo check code quality:\n\n```bash\nflutter analyze\n```\n\n\u003e ✅ No warnings or errors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvixalien%2Fflutter-notes-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvixalien%2Fflutter-notes-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvixalien%2Fflutter-notes-app/lists"}