Flutter๋ก SNS ์ฑ ๋ง๋ค๊ธฐ
Flutter์ Provider / StateNotifier ์ํ ๊ด๋ฆฌ์ Firebase๋ฅผ ํ์ฉํด์ SNS ์ฑ์ ์ ์ํฉ๋๋ค.
์๊ฐ์ 111๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

- ๋ฏธํด๊ฒฐ
์ค์๋ก ํ์ด์ดํ๋ก์ ํธ๋ฅผ ์ญ์ ํ์ฌ ๋ค์ ์ด๋ ธ๋๋ฐ profile screen์ด ์๋ฌ์ ๋๋ค
์ค์๋ก ํ์ด์ดํ๋ก์ ํธ๋ฅผ ์ญ์ ํ์ฌ ๋ค์ ์ด๋ ธ๋๋ฐ profile screen์ด ์๋ฌ์ ๋๋ค.์ค์ํ๊ธฐ์ ๊น์ง๋ ์ ๋์๊ฐ์ต๋๋ค.ํ์ด์ด๋ฒ ์ด์ค์ ์ฑ ์ด ๋ฌ๋ผ์ ๊ทธ๋ฐ๊ฑด๊ฐ์๋ฌด์จ์ด์ ์ธ์ง์<img src="https://cdn.inflearn.
flutterandroidfirebasedartvadain2000
ใป
0
148
1
- ๋ฏธํด๊ฒฐ
ํ์ด์ด๋ฒ ์ด์ค ์ฐ๋ ์ค Auth ๋ฐ ImagePicker ์ค๋ฅ ๋ฐ์, ๋์ ์์ฒญ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์, ๊ฐ์๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉฐ ํ๋ก์ ํธ๋ฅผ ์งํ ์ค์ธ๋ฐ Firebase Auth์ ImagePicker ์ฐ๋์์ ๊ณ์ ์๋ฌ๊ฐ ๋ฐ์ํด ์ด๋ ค์์ ๊ฒช๊ณ ์์ต๋๋ค.ํ์ด์ด๋ฒ ์ด์ค ์ฐ๋ ํ ์ ๋๋ฆญ Auth ๊ด๋ จ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ImagePicker๋ ๋ง์ฐฌ๊ฐ์ง๊ณ
flutterandroidfirebasedart์์์ญ/์ปดํจํฐ๊ณตํ์ ๊ณต/ํ์
ใป
0
137
2
- ๋ฏธํด๊ฒฐ
ํ์ด์ด๋ฒ ์ด์ค์์ ์ค์๋ก ๊ฐ์ํ๋ก์ ํธ๋ฅผ ์ค์๋ก ์ญ์ ํ์์ต๋๋ค.๋์์ฃผ์ธ์
๋์๋ถํ๋๋ ค์.๊ฐ์๋ฅผ ์ ๋ถ์์ฒญํ์์ต๋๋ค.ํ์ด์ด๋ฒ ์ด์ค์ ์ค์๋ก ๊ฐ์ํ๋ก์ ํธ๋ฅผ ์ญ์ ํ์์ต๋๋ค.๊ทธ๋ฐ์ด์ ๋ก ์๋์ด ์์๋์ด ๋ฌธ์ ๋๋ฆฝ๋๋ค. ์ด๋ค์ด์ ์ธ์ง ๊ฐ์์ด๋ฆ์ ํ๋ก์ ํธ๋ฅผ ์์ฑ๋ถ๊ฐํ์ฌ๋ ธํธ๋ถ๋ ์๋ก
flutterandroidfirebasedartvadain2000
ใป
0
161
2
- ๋ฏธํด๊ฒฐ
ํ์ด์ด๋ฒ ์ด์ค ์คํ ๋ฆฌ์ง ์ค์ ์ ํ๋ก์ ํธ ์ ๊ทธ๋ ์ด๋ ๋ผ๊ณ ๋จ๋๋ฐ ์ด๋ป๊ฒ ํ๋ฉด๋ฉ๋๊น
ํ์ด์ด๋ฒ ์ด์ค ์คํ ๋ฆฌ์ง ์ค์ ์ ํ๋ก์ ํธ ์ ๊ทธ๋ ์ด๋ ๋ผ๊ณ ๋จ๋๋ฐ ์ด๋ป๊ฒ ํ๋ฉด๋ฉ๋๊น?<img src="https://cdn.inflearn.com/public/files/posts/803871e6-280d-4ddb-97f3-79b7c9e3
flutterandroidfirebasedartvadain2000
ใป
0
202
1
- ๋ฏธํด๊ฒฐ
์ด๊ฑฐ๋ ์๊ทธ๋ ์ฃ
<img src="https://cdn.inflearn.com/public/files/posts/01e04185-3820-43c1-90d8-73943b7a1e55/f5d8ccd6-7081-4ca3-a471-6caa7c505981.webp" media-type="img"
flutterandroidfirebasedartvadain2000
ใป
0
142
1
- ๋ฏธํด๊ฒฐ
์ ํ ์ ๋ฌธ์ ๊ฐ์๊ฒผ๋ค์
<img src="https://cdn.inflearn.com/public/files/posts/abee683a-c290-4233-a04b-5ca532acf683/a8e35c18-e3c7-4902-b515-4355174f6611.webp" media-type="img"
flutterandroidfirebasedartvadain2000
ใป
0
135
2
- ๋ฏธํด๊ฒฐ
๋ง์น๋ฉด์ ์๋ฌ๊ฐ ๋๊ธ๊ฐ์ ธ์ค๊ธฐ์ ์ข์์ ๋ฆฌ์คํธ ๊ฐ์ ธ์ค๊ธฐ ์๋ฌ
๋ง์น๋ฉด์.. ์๋ฌ๊ฐ ๋๊ธ๊ฐ์ ธ์ค๊ธฐ์ ์ข์์ ๋ฆฌ์คํธ ๊ฐ์ ธ์ค๊ธฐ ์๋ฌ.๋๊ฐ๊ฐ ์๋ฌ ๋ฐ์๋์ด ํด๊ฒฐ๋ฐฉ๋ฒ์ ๋ชฐ๋ผ์ ๊ฐ์ฌ๋์ ๊น์ ๋ค์ด๋ฐ์์ ๋๊ธ๊ณผ ์ข์์ ์๋ฌ ๋๋ ๊ณณ์ ํ์ธํ๋ ์ ๊ฐ ๋๋ฝ๋ ์ฝ๋์ธ์ง ์ถ๊ฐ๋์ฝ๋์ธ์ง ์์๋ ์์ง๋ง ์๋ฌ๊ฐ ๋ง์์ ์ ์ด๋๊ณ ,&n
flutterandroidfirebasedartvadain2000
ใป
0
106
1
- ๋ฏธํด๊ฒฐ
์น์ 15ํ์ด์ง๊ธฐ๋ฅ_4ํ๋กํ ํ๋ฉด์ ํ์ด์ง ์ ์ฉ
์น์ 15ํ์ด์ง๊ธฐ๋ฅ_4ํ๋กํ ํ๋ฉด์ ํ์ด์ง ์ ์ฉ์์ํ๋กํ ํ๋ฉด์ ์ ์๋ ํฉ๋๋ค๊ทธ๋ฌ๋,์ข์์ ๋ฆฌ์คํธ๋ ์ฌ์ ํ ๋์ ์ํ๊ณ ์์ด์. <img src="https://cdn.inflearn.com/public/files/
flutterandroidfirebasedartvadain2000
ใป
0
94
1
- ๋ฏธํด๊ฒฐ
์น์ 15ํ์ด์ง๊ธฐ๋ฅ_3์ข์์ ๋ชฉ๋ก ํ๋ฉด์ ํ์ด์ง ์ ์ฉ
์ดํ์ด์ง์์๋ ๊ฐ์ ์๋ ์ฝ๋๊ฐ ๊ฐ์์ฝ๋๊ฐ ์๊ณ ,๊ฐ์๊ธฐ ๋์ค๊ณ , ์ดํ์ด์ง์์๋ ์ ๋ฆฌ๊ฐ ์๋ผ์. ๋ ์คํ๋ ์์๋ผ์.ํ๋กํํ๋ฉด์์๋ 6๊ฐ ๊ฒ์๋ฌผ์ธ๋ฐ 3๊ฐ๋ง๊ฐ์ ธ์ค๊ณ , ์ข์์ ํ๋ฉด์ ์คํ์ด ์๋ผ๊ณ ... ์ดํ์ด์ง๋๋ค์ ์์๋ง๋ค์ด์ผ ํ ๊ฒ ๊ฐ์์<img
flutterandroidfirebasedartvadain2000
ใป
0
181
1
- ๋ฏธํด๊ฒฐ
์น์ 14ํ์ด์ง๊ธฐ๋ฅ_1๊ฒ์๊ธ ๋ชฉ๋ก ํ๋ฉด์ ํ์ด์ง ์ ์ฉ feed_repository.dart์๋ฌ
์น์ 14ํ์ด์ง๊ธฐ๋ฅ_1๊ฒ์๊ธ ๋ชฉ๋ก ํ๋ฉด์ ํ์ด์ง ์ ์ฉ_feed_repository.dart์์ ์๋ฌ๊ฐ ๋ฐ์ํ์ต๋๋ค <img src="https://cdn.inflearn.com/public/files/posts/736051f2-d
flutterandroidfirebasedart์์ฑ์ ์์
ใป
0
97
1
- ๋ฏธํด๊ฒฐ
11์ ์ ์์ ์ข์์.๊ฐ์์ฝ๋์์ ์ข์์ ์ ๋ฐ์ดํธ ๋ฌธ์ ์ ๋๋ก ์์ ๋๊ฑด๊ฐ์
11์ ์ ์์ ์ข์์.๊ฐ์์ฝ๋์์ ์ข์์ ์ ๋ฐ์ดํธ๋ฌธ์ ๋ฐ์.์ฌ์ฉ์ ์ ์ ๊ฐ feedScreen์์์ข์์ ๋ฒํผ์ ๋๋ฅด๊ณ ,์ข์์ ๋ฐ ๋ฒํผ์ ๋๋ฃจ๋ฉด ์ข์์๋๋ฅธ ๊ฒ์๋ฌผ์ด ํ์๋๋,์ฑ์ ์ข ๋ฃํ๊ณ , ๋ค์ ์ ์ํด์ ์ข์์ ๋ฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ข์
flutterandroidfirebasedartvadain2000
ใป
0
117
1
- ๋ฏธํด๊ฒฐ
12๋๊ธํ๋ฉด_3๋๊ธ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ
<img src="https://cdn.inflearn.com/public/files/posts/e3830672-0407-4825-95b2-f91d9c38a19c/2cbe9a81-5a1d-4523-b6e8-b1905de4aeb0.webp" media-t
flutterandroidfirebasedartvadain2000
ใป
0
221
2
- ๋ฏธํด๊ฒฐ
11๋๊ธํ๋ฉด_๋๊ธ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ์์ ์ฝ์์ commentList๋ชป์ฐ๊ณ ์์ด์
16:09//๋ณํํด์ ๊ฐ์ ธ์ค๊ธฐ List commentModel = await Future.wait(snapshot.docs.map( (e) async { Map<String, dynam
flutterandroidfirebasedartvadain2000
ใป
0
81
1
- ๋ฏธํด๊ฒฐ
์น์ 11 ์ข์์ ๋ชฉ๋กํ๋ฉด์์ ์ฝ์์์ FeedModel ๋ฐ์ดํฐ๋ฅผ ๋ชป๊ฐ์ง๊ณ ์์ด์
์น์ 11 ์ข์์ ๋ชฉ๋กํ๋ฉดwhgdk์ข์์.๋๋ฅธ ๊ฒ์๊ธ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ<p style="
flutterandroidfirebasedart์์ฑ์ ์์
ใป
0
84
1
- ๋ฏธํด๊ฒฐ
์น์ 11 ์ข์์.๋๋ฅธ ๊ฒ์๊ธ ์ ๋ณด๋ฅผ ํ๋ฉด์ํ์์์ Exception ์ ๋ฐ์ํฉ๋๊น
์น์ 11 ์ข์์ ๋ชฉ๋กํ๋ฉดwhgdk์ข์์.๋๋ฅธ ๊ฒ์๊ธ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ์ข์์.๋๋ฅธ ๊ฒ์๊ธ ์ ๋ณด๋ฅผ ํ๋ฉด์ํ์์งํํ๊ตฌ์.
flutterandroidfirebasedart์์ฑ์ ์์
ใป
0
145
0
- ๋ฏธํด๊ฒฐ
Storage์ฌ์ฉ..?
๊ฐ์์ ๋ฐ๋ผ์ Firebase์ storage๋ฅผ ์์ํ๊ธฐ ํ๋ ค๊ณ ํ๋๋ฐ ์์ํ๊ธฐ ๋ฒํผ์ด ์์ด์ง๊ณ Storage ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด ํ๋ก์ ํธ์ ๊ฒฐ์ ์๊ธ์ ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ์ธ์๋ก ๋ฐ๋๊ฑฐ ๊ฐ์๋ฐ โฆ? ์ด๋กํ์ฃ ํด๋ผ์ฐ๋ ํ์ด์ด
flutterandroidfirebasedart์ ํ
ใป
0
883
2
- ๋ฏธํด๊ฒฐ
10 ๊ฒ์๋ฌผ ํ๋ฉด์์ ์กฐ๊ธํท๊ฐ๋ ค์์
2:4610 ๊ฒ์๋ฌผ ํ๋ฉด์์<img src="https://cdn.inflearn.com/public/files/posts/28030270-4eb8-426e-8a76-fc8695e873d4/74de75c1-2542-429d-952c-211385
flutterandroidfirebasedartvadain2000
ใป
0
125
2
- ๋ฏธํด๊ฒฐ
๊ฒ์๊ธ ์ด๋ฏธ์ง ์ฌ๋ผ์ด๋ ๊ธฐ๋ฅ์ถ๊ฐ carouselslider์๋ฌ๊ฐ ๋ฌ์ต๋๋ค
3:50<img src="https://cdn.inflearn.com/public/files/posts/7870bd71-67f3-4628-bbaf-3056632a730f/4adb9e61-ce24-4b6c-8ac9-bcd40f0df381.webp" media
flutterandroidfirebasedartvadain2000
ใป
0
139
1
- ๋ฏธํด๊ฒฐ
์น์ 8 ๊ฒ์๊ธ ์ ๋ณด ํ๋ฉด์ ํ์
4:19 ์์ ์คํฌ๋ฆฐ์ ์ด๋ ๊ฒ ๋์ค๋ค์.<img src="https://cdn.inflearn.com/public/files/posts/3387acc2-b0fa-4066-beb2-e13013b58b0c/0e66053d-14bc-48a0-bd10-2245d7
flutterandroidfirebasedartvadain2000
ใป
0
102
1
- ๋ฏธํด๊ฒฐ
์น์ 8 ๊ฒ์๊ธ ์ ๋ณด๊ฐ์ ธ์ค๊ธฐ
<img src="https://cdn.inflearn.com/public/files/posts/a1ef5d9b-6b10-4dba-9c38-cf83ccc5526f/f5e66166-7337-444a-9bec-63b23734f72e.PNG" media-type="img"
flutterandroidfirebasedartvadain2000
ใป
0
111
1






