{"id":25227689,"url":"https://github.com/alwinvazhappily/flutter_posts_app","last_synced_at":"2026-05-09T19:31:46.211Z","repository":{"id":275408857,"uuid":"925607492","full_name":"alwinvazhappily/flutter_posts_app","owner":"alwinvazhappily","description":"Flutter Posts App: Fetch, Store \u0026 Display","archived":false,"fork":false,"pushed_at":"2025-03-12T13:51:52.000Z","size":722,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T13:15:40.713Z","etag":null,"topics":["dart","flutter","fpdart","mvvm-architecture","riverpod-state-management","sqflite-database"],"latest_commit_sha":null,"homepage":"","language":"Dart","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/alwinvazhappily.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}},"created_at":"2025-02-01T09:32:14.000Z","updated_at":"2025-03-12T13:51:56.000Z","dependencies_parsed_at":"2025-02-02T10:38:00.155Z","dependency_job_id":null,"html_url":"https://github.com/alwinvazhappily/flutter_posts_app","commit_stats":null,"previous_names":["alwinvazhappily/flutter_posts_app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alwinvazhappily/flutter_posts_app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwinvazhappily%2Fflutter_posts_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwinvazhappily%2Fflutter_posts_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwinvazhappily%2Fflutter_posts_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwinvazhappily%2Fflutter_posts_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alwinvazhappily","download_url":"https://codeload.github.com/alwinvazhappily/flutter_posts_app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwinvazhappily%2Fflutter_posts_app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261397375,"owners_count":23152491,"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","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":["dart","flutter","fpdart","mvvm-architecture","riverpod-state-management","sqflite-database"],"created_at":"2025-02-11T09:08:41.123Z","updated_at":"2026-05-09T19:31:41.186Z","avatar_url":"https://github.com/alwinvazhappily.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flutter_posts_app\n\nFlutter Posts App: Fetch, Store \u0026 Display\n\n## Screenshots\n\n\u003cimg src=\"assets/screenshots/1.png\" width=\"300\"/\u003e\n\n## Objective\n\nThe goal of this task is to create a Flutter application that fetches posts from a public API, stores them locally using SQLite, and displays them in a user-friendly list format.\n\n## Requirements\n\n1. API Integration: Fetch data from the JSONPlaceholder API.\n2. Local Storage: Save the fetched posts in an SQLite database using the sqflite package.\n3. State Management: Use flutter_riverpod for managing state and riverpod_annotation for structured MVVM architecture.\n4. User Interface: Display posts in a ListView, ensuring that:\n • Each item shows the title and body of the post.\n • Proper handling of null or empty values for id, title, and body.\n • The UI is clean and responsive.\n5. Error Handling: Handle API failures, database errors, and empty data cases gracefully.\n\n## Technology Stack\n\n 1. Flutter: For building the UI.\n 2. flutter_riverpod \u0026 riverpod_annotation: For state management in MVVM architecture.\n 3. http: For making API requests.\n 4. sqflite: For local database storage.\n 5. fpdart: For functional error handling and better state flow.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falwinvazhappily%2Fflutter_posts_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falwinvazhappily%2Fflutter_posts_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falwinvazhappily%2Fflutter_posts_app/lists"}