Flutter

[Firebase+provider]Chp1. Chat App 환경 준비

모리선생 2023. 5. 4. 07:17
728x90

목표

provider과 Firebase를 기반으로 일회용 chat이 가능한 Application을 만들어보고 활용법을 알아본다.


해당 내용은 도그풋님의 #2 플러터 + 파이어베이스 채팅앱 만들기를 기초로 study를 진행하였으며, 일부 부분과 다르게 UI 및 기능적인 측면에서 추가를 하였습니다. 또한 Firebase와 Firecloud 등이 업데이트 됨에 따라 firebase 코드 관련 부분등은 수정된 부분이 있으니 참고하여 주시기 바랍니다.

 

또한 해당내용에 있어서 공부를 진행하는 부분이 있으므로 코드상에 문의가 있거나, 수정사항이 발견이 되면 알려주시면 감사하겠습니다.


해당 코드의 github

https://github.com/riris01/flutter_firebase_chat_provider

 

원본 코드의 github

https://github.com/wownsdl13/flutter_firebase_chatting_example

 

아무래도 개발자라고 한다면 한번쯤은 자기 고유만의 Chat Platform을 생성호보고 싶은 욕심(?)이 있을것이다. 저자의 경우에도 약간 외부에서 주입된 형태의 (회사에서 하라고 하니까...) 강제 욕심(?)을 기반으로 해당 기능을 만들어 보고자 한다. 뭐 지금 당장 만들어야 되는 상황은 아니라서 여러 사람들의 채팅 구현 기능들을 참고해서 하나씩 만들어 보고자 한다.

 

일단 이번에 만들 프로젝트의 목표는 채팅 프로그램을 만드는 것이다. 우리가 생각하는 카카오톡과 같은 느낌이 아니라, 한개의 서버에 한방이 만들어져 있고 특정 목적을 가진 모든 사람들이 채팅을 할 수 있는 그런 방? 

 

  • 목표: Firebase를 기반으로 Chatting 방 구성
  • 활용목적: 소모임 기반 최대 5명이 동시 사용을 한다고 가정을 하고 동시 입장 후 대화를 나눌 수 있도록 하는 것
  • 상세: 채팅방을 나가면 해당 내용을 다시 볼 수 없음. 새로운 방으로 진입

물론 이런 방이 실제로 존재할리는 없다. 다만, 이렇게 함으로써 실제 채팅방을 만들어 보고 다른 사용자다른 채팅을 입력하였을때 각기 다른 사람들이 대화를 익명으로 할 수 있도록하는 채팅방을 만들어 보고자 하였다. 이번 프로젝트가 끝나면 이제 로그인한 사람들의 정보를 받아와서 지속적으로 채팅기록이 남는 채팅방을 만들어보려고 한다.

 

그럼 준비물은 다음과 같다.

 

@pubspec.yaml

  cloud_firestore: ^4.5.3
  firebase_core: ^2.10.0
  provider: ^5.0.0

  uuid: ^3.0.7

 

@Firebase내 Firestore만들기

이부분을 잘 모르겠으면, https://riris01.tistory.com/38 의 내에 있는 설정을 참고하기를 바란다.

 

Firebase와 Firestore 그리고 어떤 Package를 사용할지 대부분 정리 했다면 이제 간략하게 main.dart와 entrance_page.dart를 생성하러 가보자.

728x90