Nextron, firebase๋ฅผ ์ฌ์ฉํด์ ๊ตฌํํ ๋ฐ์คํฌํ ์ฑํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. firebase ํน์ฑ์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ณํ๋ฅผ ๊ฐ์งํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ , NoSQL ํ์ ์ผ๋ก ๋๋์ ๋ถ์ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์กฐํํ๋ ๋ฐ ํนํ๋ผ ์์ด์ ์ฑํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๋๋ฐ ์ ํฉํฉ๋๋ค.
- recoil์ ์ฌ์ฉํ์ฌ ์ ์ญ์ํ ๊ด๋ฆฌ๋ฅผ ํ์์ต๋๋ค.
- component ํด๋์๋ ๊ฐ๊ฐ ํ์ด์ง์ ํด๋นํ๋ ์ปดํฌ๋ํธ๋ค์ด ์์นํด ์๊ณ , ํ๋์ ์ปดํฌ๋ํธ ํด๋ ๋ด๋ถ์๋ ๋ค์๊ณผ ๊ฐ์ ํ์ผ๋ค์ด ์์ต๋๋ค.
- [component].tsx : ์ปดํฌ๋ํธ์ ui๋ถ๋ถ์ ๋ด๋นํฉ๋๋ค.
- [componentContainer].tsx : ์ปดํฌ๋ํธ์ ๋น์ฆ๋์ค ๋ก์ง์ ๋ด๋นํ๊ณ , [component].tsx์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค.
- [component.styles].ts : ์ปดํฌ๋ํธ์ ํด๋นํ๋ style์ ์ ์ํด๋์ ํ์ผ์ ๋๋ค.
- ํ์๊ฐ์
- ๋ก๊ทธ์ธ
- ์ ์ ๋ชฉ๋ก
- 1:1 ์ฑํ
- ๊ทธ๋ฃน์ฑํ
- firebase Authentication์ ์ด์ฉํด์ ๊ตฌํ ํ์์ต๋๋ค.
- ์ด๋ฉ์ผ ํ์, ๋น๋ฐ๋ฒํธ 6์๋ฆฌ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์งํ ํ์์ต๋๋ค.
- ์ค์๊ฐ์ผ๋ก 1:1์ฑํ ์ ์งํํ ์ ์์ต๋๋ค.
- ์ค์๊ฐ์ผ๋ก ๊ทธ๋ฃน ์ฑํ ์ ์งํํ ์ ์์ต๋๋ค.
- ์ ์ ๋ฅผ ์ด๋ํด์ ๊ทธ๋ฃน ์ฑํ ๋ฐฉ์ ์์ฑํ ์ ์์ต๋๋ค.
- Chatty๋ฅผ ์ด์ฉ์ค์ธ ์ ์ ๋ฅผ ์กฐํํ ์ ์๊ณ , ํ์ฌ ์งํ์ค์ธ 1:1 ์ฑํ , ๊ทธ๋ฃน ์ฑํ ๋ฆฌ์คํธ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ์น์ผ๋ก๋ง ํ๋ก์ ํธ๋ฅผ ์งํํด ์์ด์ Electron์ ์ฌ์ฉํ ๋ฐ์คํฌํ ์ฑ์ ์ฒ์ ์งํํ ํ๋ก์ ํธ์๋๋ฐ ์ค๋ก์ง ๋ฐ์คํฌํ ์ฑ์ ๋์ด๊ฑฐ ์ด์ธ์๋ ๋ค๋ฃฌ ๊ธฐ์ ๋ค์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. Electron์ด ๊ฐ์ง๊ณ ์๋ ๊ธฐ๋ฅ๋ค์ ๋์ฑ ๊ณต๋ถํ ํ์๊ฐ ์์ด๋ณด์ ๋๋ค.
- firebase๋ฅผ ์ด์ฉํ์ฌ ์๋ฒ๋ฅผ ๋ฐ๋ก ๊ตฌ์ถํ ํ์๊ฐ ์์ด์ ๋น ๋ฅธ์๊ฐ์์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ์ ์์์ต๋๋ค. ํนํ ๋ก๊ทธ์ธ ์ธ์ฆ์ ์ํด ๋ณต์กํ ๋ก์ง์ ๊ตฌ์ฑํด์ผ ํ์ง๋ง firebase์์ ์ด๋ฌํ ๊ธฐ๋ฅ๋ค๋ ์ ๊ณตํ๊ณ ์์ด์ firebase์ ์ฅ์ ์ด ํฌ๊ฒ ์๋ฟ์์ต๋๋ค.
- ํ๋ก์ ํธ๋ฅผ ํด๋ก ํฉ๋๋ค.
git clone https://github.com/dngur9801/chat-app.git
- ํด๋ก ํ ํ๋ก์ ํธ ๋ด๋ถ๋ก ์ด๋ํฉ๋๋ค.
cd chat-app
- ํจํค์ง๋ค์ ์ค์น ํฉ๋๋ค.
npm install
- ํ์ด์ด๋ฒ ์ด์ค ๊ด๋ จ apiํค ์ค์ ์ ์ํด renderer ํด๋ ํ์์ .envํ์ผ ์์ฑ ํ ์๋์ ๊ฐ์ด ์ ๋ ฅํด ์ค๋๋ค.(๋ฏธ์ ๋ ฅ์ ์๋ฌ๊ฐ ๋ฐ์ ํฉ๋๋ค.)
# firebase SDK
NEXT_PUBLIC_FIREBASE_API_KEY=""
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=""
NEXT_PUBLIC_FIREBASE_DATABASE_URL=""
NEXT_PUBLIC_FIREBASE_PROJECT_ID=""
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=""
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID="",
NEXT_PUBLIC_FIREBASE_APP_ID="",
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=""
- ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ ํฉ๋๋ค.
npm run dev
- https://velog.io/@dngur9801/firebase-Error-adding-document-FirebaseError-7-PERMISSIONDENIED-Missing-or-insufficient-permissions.-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0
- https://velog.io/@dngur9801/Nextron-F12%EB%A5%BC-%EB%88%8C%EB%9F%AC%EC%84%9C-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%8F%84%EA%B5%AC-%ED%99%9C%EC%84%B1%ED%99%94-%ED%95%98%EA%B8%B0