Skip to content

Commit bc56561

Browse files
committed
feat: integrate Firebase Firestore
- Use Firestore as data source - Replaced in-memory client - Added Firebase initialization
1 parent 006fa99 commit bc56561

File tree

3 files changed

+70
-10
lines changed

3 files changed

+70
-10
lines changed

lib/main.dart

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
1+
import 'package:cloud_firestore/cloud_firestore.dart';
2+
import 'package:firebase_core/firebase_core.dart';
13
import 'package:flutter/material.dart';
24
import 'package:flutter_bloc/flutter_bloc.dart';
3-
import 'package:ht_headlines_inmemory/ht_headlines_inmemory.dart';
5+
import 'package:ht_headlines_firestore/ht_headlines_firestore.dart';
46
import 'package:ht_headlines_repository/ht_headlines_repository.dart';
57
import 'package:ht_main/app/app.dart';
68
import 'package:ht_main/bloc_observer.dart';
79

8-
void main() {
10+
void main() async {
911
WidgetsFlutterBinding.ensureInitialized();
12+
await Firebase.initializeApp();
1013
Bloc.observer = const AppBlocObserver();
11-
12-
final headlinesClient = HtInMemoryHeadlinesClient();
14+
final firestore = FirebaseFirestore.instance;
15+
final headlinesClient = HtHeadlinesFirestore(firestore: firestore);
1316
final headlinesRepository = HtHeadlinesRepository(client: headlinesClient);
1417

1518
runApp(App(htHeadlinesRepository: headlinesRepository));

pubspec.lock

Lines changed: 60 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ packages:
99
url: "https://pub.dev"
1010
source: hosted
1111
version: "80.0.0"
12+
_flutterfire_internals:
13+
dependency: transitive
14+
description:
15+
name: _flutterfire_internals
16+
sha256: "7fd72d77a7487c26faab1d274af23fb008763ddc10800261abbfb2c067f183d5"
17+
url: "https://pub.dev"
18+
source: hosted
19+
version: "1.3.53"
1220
analyzer:
1321
dependency: transitive
1422
description:
@@ -81,6 +89,30 @@ packages:
8189
url: "https://pub.dev"
8290
source: hosted
8391
version: "1.1.2"
92+
cloud_firestore:
93+
dependency: "direct main"
94+
description:
95+
name: cloud_firestore
96+
sha256: "6b5d0ca6b62830ca5bcf98c5e0c882df32dea3cb523b635db3626333e1c29090"
97+
url: "https://pub.dev"
98+
source: hosted
99+
version: "5.6.5"
100+
cloud_firestore_platform_interface:
101+
dependency: transitive
102+
description:
103+
name: cloud_firestore_platform_interface
104+
sha256: "149c7d2d634178aff8e25eba6cbbbc76bd92f37e0e63727a31952c72bbcb77fb"
105+
url: "https://pub.dev"
106+
source: hosted
107+
version: "6.6.5"
108+
cloud_firestore_web:
109+
dependency: transitive
110+
description:
111+
name: cloud_firestore_web
112+
sha256: "05a3c02a7edb3fadeb3f14f491c3a0bbad3ea2c9f22842acbf1d73bceeb93e77"
113+
url: "https://pub.dev"
114+
source: hosted
115+
version: "4.4.5"
84116
collection:
85117
dependency: transitive
86118
description:
@@ -177,6 +209,14 @@ packages:
177209
url: "https://pub.dev"
178210
source: hosted
179211
version: "2.21.1"
212+
fixnum:
213+
dependency: transitive
214+
description:
215+
name: fixnum
216+
sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
217+
url: "https://pub.dev"
218+
source: hosted
219+
version: "1.1.1"
180220
flex_color_scheme:
181221
dependency: "direct main"
182222
description:
@@ -266,17 +306,17 @@ packages:
266306
description:
267307
path: "."
268308
ref: main
269-
resolved-ref: e8f593445383cb02d948d88370cddfc722c769be
309+
resolved-ref: "01aa768bcadf8521e77323b310b3b43fc5174e77"
270310
url: "https://github.com/headlines-toolkit/ht-headlines-client.git"
271311
source: git
272312
version: "0.0.0"
273-
ht_headlines_inmemory:
313+
ht_headlines_firestore:
274314
dependency: "direct main"
275315
description:
276316
path: "."
277317
ref: main
278-
resolved-ref: "1129f48c9af0b3b297e8f6717d88363b3d166890"
279-
url: "https://github.com/headlines-toolkit/ht-headlines-inmemory.git"
318+
resolved-ref: "8bb296d6968bb4827a95bd7c11dc3ed7dd924f14"
319+
url: "https://github.com/headlines-toolkit/ht-headlines-firestore.git"
280320
source: git
281321
version: "0.0.0"
282322
ht_headlines_repository:
@@ -614,6 +654,14 @@ packages:
614654
url: "https://pub.dev"
615655
source: hosted
616656
version: "1.10.1"
657+
sprintf:
658+
dependency: transitive
659+
description:
660+
name: sprintf
661+
sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
662+
url: "https://pub.dev"
663+
source: hosted
664+
version: "7.0.0"
617665
stack_trace:
618666
dependency: transitive
619667
description:
@@ -750,6 +798,14 @@ packages:
750798
url: "https://pub.dev"
751799
source: hosted
752800
version: "3.1.4"
801+
uuid:
802+
dependency: transitive
803+
description:
804+
name: uuid
805+
sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff
806+
url: "https://pub.dev"
807+
source: hosted
808+
version: "4.5.1"
753809
vector_math:
754810
dependency: transitive
755811
description:

pubspec.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ environment:
99
dependencies:
1010
bloc: ^9.0.0
1111
bloc_concurrency: ^0.3.0
12+
cloud_firestore: ^5.6.5
1213
equatable: ^2.0.7
1314
firebase_core: ^3.12.1
1415
flex_color_scheme: ^8.1.1
@@ -20,9 +21,9 @@ dependencies:
2021
sdk: flutter
2122
go_router: ^14.8.1
2223
google_fonts: ^6.2.1
23-
ht_headlines_inmemory:
24+
ht_headlines_firestore:
2425
git:
25-
url: https://github.com/headlines-toolkit/ht-headlines-inmemory.git
26+
url: https://github.com/headlines-toolkit/ht-headlines-firestore.git
2627
ref: main
2728
ht_headlines_repository:
2829
git:

0 commit comments

Comments
 (0)