Git Product home page Git Product logo

chat-app's Introduction

Nextron์„ ์ด์šฉํ•œ ๋ฐ์Šคํฌํƒ‘ ์ฑ„ํŒ… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ "Chatty"

Nextron, firebase๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•œ ๋ฐ์Šคํฌํƒ‘ ์ฑ„ํŒ… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž…๋‹ˆ๋‹ค. firebase ํŠน์„ฑ์ƒ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ , NoSQL ํ˜•์‹ ์œผ๋กœ ๋Œ€๋Ÿ‰์˜ ๋ถ„์‚ฐ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์กฐํšŒํ•˜๋Š” ๋ฐ ํŠนํ™”๋ผ ์žˆ์–ด์„œ ์ฑ„ํŒ… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ์ž‘ํ•˜๋Š”๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋ชฉ์ฐจ



์ „์ฒด ๊ตฌ์กฐ

  • recoil์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „์—ญ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • component ํด๋”์—๋Š” ๊ฐ๊ฐ ํŽ˜์ด์ง€์— ํ•ด๋‹นํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋“ค์ด ์œ„์น˜ํ•ด ์žˆ๊ณ , ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ ํด๋” ๋‚ด๋ถ€์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒŒ์ผ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • [component].tsx : ์ปดํฌ๋„ŒํŠธ์— ui๋ถ€๋ถ„์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
    • [componentContainer].tsx : ์ปดํฌ๋„ŒํŠธ์— ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๋‹นํ•˜๊ณ , [component].tsx์— ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
    • [component.styles].ts : ์ปดํฌ๋„ŒํŠธ์— ํ•ด๋‹นํ•˜๋Š” style์„ ์ •์˜ํ•ด๋†“์€ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.



์ฃผ์š” ๊ธฐ๋Šฅ

  • ํšŒ์›๊ฐ€์ž…
  • ๋กœ๊ทธ์ธ
  • ์œ ์ €๋ชฉ๋ก
  • 1:1 ์ฑ„ํŒ…
  • ๊ทธ๋ฃน์ฑ„ํŒ…



๊ธฐ์ˆ  ์Šคํƒ

ย  ย  ย  ย  ย 



๊ตฌํ˜„ ๋‚ด์šฉ

ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ

  • firebase Authentication์„ ์ด์šฉํ•ด์„œ ๊ตฌํ˜„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฉ”์ผ ํ˜•์‹, ๋น„๋ฐ€๋ฒˆํ˜ธ 6์ž๋ฆฌ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
ย ย 

1:1 ์ฑ„ํŒ…

  • ์‹ค์‹œ๊ฐ„์œผ๋กœ 1:1์ฑ„ํŒ…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฃน ์ฑ„ํŒ…

  • ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ทธ๋ฃน ์ฑ„ํŒ…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฃน ์ฑ„ํŒ…๋ฐฉ ์ƒ์„ฑ

  • ์œ ์ €๋ฅผ ์ดˆ๋Œ€ํ•ด์„œ ๊ทธ๋ฃน ์ฑ„ํŒ…๋ฐฉ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ ์ € ๋ชฉ๋ก, ์ฑ„ํŒ… ๋ฆฌ์ŠคํŠธ, ๊ทธ๋ฃน ์ฑ„ํŒ… ๋ฆฌ์ŠคํŠธ

  • Chatty๋ฅผ ์ด์šฉ์ค‘์ธ ์œ ์ €๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๊ณ , ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ 1:1 ์ฑ„ํŒ…, ๊ทธ๋ฃน ์ฑ„ํŒ… ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ย ย  ย ย 



ํšŒ๊ณ 

  • ์›น์œผ๋กœ๋งŒ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•ด ์™”์–ด์„œ Electron์„ ์‚ฌ์šฉํ•œ ๋ฐ์Šคํฌํƒ‘ ์•ฑ์„ ์ฒ˜์Œ ์ง„ํ–‰ํ•œ ํ”„๋กœ์ ํŠธ์˜€๋Š”๋ฐ ์˜ค๋กœ์ง€ ๋ฐ์Šคํฌํƒ‘ ์•ฑ์„ ๋„์šด๊ฑฐ ์ด์™ธ์—๋Š” ๋‹ค๋ฃฌ ๊ธฐ์ˆ ๋“ค์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Electron์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ๋“ค์„ ๋”์šฑ ๊ณต๋ถ€ํ•  ํ•„์š”๊ฐ€ ์žˆ์–ด๋ณด์ž…๋‹ˆ๋‹ค.
  • firebase๋ฅผ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ๋”ฐ๋กœ ๊ตฌ์ถ•ํ•  ํ•„์š”๊ฐ€ ์—†์–ด์„œ ๋น ๋ฅธ์‹œ๊ฐ„์•ˆ์— ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋กœ๊ทธ์ธ ์ธ์ฆ์„ ์œ„ํ•ด ๋ณต์žกํ•œ ๋กœ์ง์„ ๊ตฌ์„ฑํ•ด์•ผ ํ•˜์ง€๋งŒ firebase์—์„œ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค๋„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์–ด์„œ firebase์— ์žฅ์ ์ด ํฌ๊ฒŒ ์™€๋‹ฟ์•˜์Šต๋‹ˆ๋‹ค.



์‹คํ–‰ ๋ฐฉ๋ฒ•

  1. ํ”„๋กœ์ ํŠธ๋ฅผ ํด๋ก ํ•ฉ๋‹ˆ๋‹ค.
git clone https://github.com/dngur9801/chat-app.git
  1. ํด๋ก ํ•œ ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
cd chat-app
  1. ํŒจํ‚ค์ง€๋“ค์„ ์„ค์น˜ ํ•ฉ๋‹ˆ๋‹ค.
npm install
  1. ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๊ด€๋ จ 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=""
  1. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ ํ•ฉ๋‹ˆ๋‹ค.
npm run dev

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์ค‘ ๋งˆ์ฃผ์นœ ์ด์Šˆ์™€ ํ•ด๊ฒฐ

chat-app's People

Contributors

dngur9801 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.