Flutter로 만든 간단한 대학생 커뮤니티 서비스

Minsu Han·2021년 12월 18일
2

Side Projects

목록 보기
10/10
post-thumbnail

🚀 Introduction

올 여름 Flutter의 전반부를 공부하고 자가진단 앱을 만든 이후, 이번 학기에 Screen Navigation, Provider, HTTP Request, Firebase Database 등을 추가로 공부하였다. 그래서 Google Firebase Realtime Database를 사용하여 REST API로 데이터를 주고받으며 CRUD가 가능한 프로젝트를 구상하였다.

대학생 커뮤니티 앱 에브리타임을 모티브로 하되, 코로나 시대에 같은 학과 학생들끼리 조별과제 팀원모집, 과제 궁금증 해결, 학과 관련 정보 교류 등을 쉽게 할 수 있도록 게시판을 학과별로 분류한 커뮤니티 앱을 제작하기로 하였다.

🔗 Repository

https://github.com/CNU-2021-SE14/forum-app-demo

✏️ Class Modeling

✔️ 프로젝트 구조

  • lib/models - 게시판, 댓글, 알림메시지, 게시물 각각에 대한 클래스와 http request 오류응답 메시지를 리턴하기 위한 클래스가 구현되어 있다.
  • lib/providers - 로그인/회원가입(authentication), Firebase Realtime Database와 연동하여 게시판 목록 로드, 게시물, 댓글, 알림 메시지에 대한 CRUD 기능을 구현하였다. 여기에서 구현한 클래스들은 with 키워드로 ChangeNotifier의 기능을 오버라이드하기 때문에 notifyListeners() 라는 함수를 호출하여 Provider를 사용하여 클래스를 구독하는 객체에게 데이터의 변화를 알릴 수 있다.
  • lib/screens - 앱에서 표시될 화면들의 UI를 구현하였다.
  • _lib/widgets - 화면에 표시되는 컴포넌트들 중 코드가 긴 위젯들은 따로 여기에 저장하였다.

Firebase Realtime Database에는 게시판(boards), 게시물(posts), 댓글(comments), 알림 메시지(notifications) 데이터들이 저장되고 앱에서 fetch하여 사용한다.


✔️ Features & Screenshots











📚 참고자료

profile
기록하기

6개의 댓글

comment-user-thumbnail
2022년 3월 27일

혹시 이 어플 실행은 어떻게 할 수 있을까요? flutter 다운받아서 run 했는데 오류가 뜨네요ㅠ

답글 달기
comment-user-thumbnail
2022년 11월 1일

혹시 어떤 자료를 참고해서 만드셨나요??

1개의 답글
comment-user-thumbnail
2022년 11월 16일

안녕하세요 ! 저도 어떤 자료를 참고하셨는지 궁금하여 메일을 드렸습니다! 실례가 안된다면 확인 부탁드리겠습니다! 좋은 포스팅 정말 감사드립니다 ^^!

답글 달기
comment-user-thumbnail
2022년 11월 23일

같은 질문인데요, 저도 API 호출해서 비슷한 기능들을 구현하고 싶은데, 프로젝트를 위해 참고할만한 자료는 어떻게 찾으셨고, 무엇을 참고했는지 궁금합니다!

답글 달기
comment-user-thumbnail
2023년 8월 22일

혹시 어떤 자료로 참고하셨는지랑 이 프로젝트 구현이 안되서 여쭤보고 싶습니다.

답글 달기