An open API service indexing awesome lists of open source software.

https://github.com/jacobkosmart/chat-app-react-firebase

Realtime chat-app with firebase
https://github.com/jacobkosmart/chat-app-react-firebase

firebase firebase-authentication firestore

Last synced: 3 months ago
JSON representation

Realtime chat-app with firebase

Awesome Lists containing this project

README

          

# πŸ“” Twitter Chat - Clone App

Live Demo

![Animation2](https://user-images.githubusercontent.com/28912774/130751269-83ec7b85-e193-4da4-9248-90c86ff38913.gif)

## πŸ’» 1.ν”„λ‘œμ νŠΈ μ†Œκ°œ

### πŸ“ μ‚¬μš©κΈ°μˆ  및 μ–Έμ–΄

- React hooks

- React-router-dom

- Firebase (Authentication, Firestore DB, Storage)

### ⏰ 개발 κΈ°κ°„

2021-08-02 ~ 2021-08-06

## πŸ“ƒ 2.ν”„λ‘œμ νŠΈ λ‚΄μš©

### πŸ“Œ μ£Όμš” κΈ°λŠ₯

- Realtime chat-app

- κ°„λ‹¨ν•œ λ©”μ‹œμ§€μ™€ μ‚¬μ§„νŒŒμΌ μ—…λ‘œλ“œ κ°€λŠ₯ (firebase db 에 μ €μž₯)

- Firebase Authentication with Email, Google and github

- Profile μ—μ„œ Display name(NickName) λ³€κ²½ κ°€λŠ₯

### 🎁 μ„€μΉ˜ νŒ¨ν‚€μ§€

```bash
# CRA
npx create-react-app PROJECT

# React router dom
yarn add react-router-dom

# Firebase
yarn add firebase --save

# UUID
yarn add uuid

# Font awesome
yarn add @fortawesome/fontawesome-free
```

## πŸ”Ž 3.μ£Όμš” μ½”λ“œ

### A. Firebase config in Project

```js
// in fbase.js at root
// .env νŒŒμΌμ— security code λ₯Ό λ„£μ–΄μ„œ github 에 κ³΅μœ λ˜μ§€ μ•Šκ²Œ 함

// Firebase App (the core Firebase SDK) is always required and must be listed first
import firebase from "firebase/app";
import "firebase/auth";
import "firebase/firestore";
import "firebase/storage";

const firebaseConfig = {
apiKey: process.env.REACT_APP_API_KEY,
authDomain: process.env.REACT_APP_AUTH_DOMAIN,
databaseURL: process.env.REACT_APP_DATABASE_URL,
projectId: process.env.REACT_APP_PROJECT_ID,
storageBucket: process.env.REACT_APP_STORAGE_BUCKET,
messagingSenderId: process.env.REACT_APP_MESSAGIN_ID,
appId: process.env.REACT_APP_APP_APP_ID,
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);

export const firebaseInstance = firebase;
export const authService = firebase.auth();
export const dbService = firebase.firestore();
export const storageService = firebase.storage();
```

### B. Authentication

> firebase Authentication κ΄€λ ¨ λ‚΄μš© (Jacob's DevLog) - [https://jacobko.info/firebase/firebase_2/](https://jacobko.info/firebase/firebase_2/)

### C. Firestore DB

> firebase DB κ΄€λ ¨ λ‚΄μš© (Jacob's DevLog) - [https://jacobko.info/firebase/firebase_3/](https://jacobko.info/firebase/firebase_3/)

### D. Storage

> firebase Storage κ΄€λ ¨ λ‚΄μš© (Jacob's DevLog) - [https://jacobko.info/firebase/firebase_4/](https://jacobko.info/firebase/firebase_4/)

## πŸ’‘ 4. Reference

Firebase official reference - [https://firebase.google.com/docs/reference/js](https://firebase.google.com/docs/reference/js)

normard corder - [https://nomadcoders.co/nwitter](https://nomadcoders.co/nwitter)