Skip to content

thruthesky/sms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SMS

  • SMS 는 Social Management System 의 약자로서 소셜 웹/앱 서비스에 필요한 기본 기능을 제공하는 프레임입니다.

개요

  • 웹이나 앱을 만들때 가장 쉬운 방법이 무엇일까, 현재 웹/앱의 흐름에 맞는 기능을 포함하며 가장 알맞는 방법은 무엇일까하는 고민을 수 없이 하였습니다.

    • SMS 는 간단하고 쉬운면서 견고한 프레임 작성을 최대의 가장 큰 목표로 하고 있습니다. 그래야 개발자들이 쉽게 이해하고 수정 할 수 있기 때문입니다.

    • 그 결과 데이터베이스는 Firebase 로 하기로 하였으며, 앱은 Flutter, 웹은 Vue 로 하기로 하였습니다. 이 세가지는 모두 현재 개발 패러다임을 대표하는 프레임워크들입니다.

      • 참고로 처음 개발 버전에서 백엔드는 LEMP(Linux + Nginx + PHP + MySQL) 와 Firebase 의 조합으로 구성되었는데, 단순한 것이 쉬운 것이라는 생각에 LEMP 를 빼고, Firebase 로만 백엔드를 구성하기로 했습니다.
  • 본 프로젝트는 웹이나 앱을 개발 할 때

    • 가장 가단하고
    • 가장 쉬우면서도
    • 가장 견고하고
    • 재 활용 가치가 높은
      기본이 되는 프로그램 뼈대(틀)를 만들고자하는 것이 목표입니다. 본 프로젝트가 가지는 기본 기능에 대해서는 주요 기능 항목을 참고해주세요.
  • 본 프로젝트는 크게 백엔드는 Firebase로 만들어졌으며, 앱은 Flutter 로 만들어졌습니다. 그리고 웹은 Vue 를 통해 SPA 와 PWA 를 구현합니다.

    • 커스터마이징 부분을 참고해주세요.

구성

  • sms/firebase 폴더에는 Firebase 관련 코드가 있습니다. Firestore, Functions 와 관련된 코드라고 보시면 됩니다.
    • sms/firebase 에는 Security Rules 나 Clould Functions 에 대한 코드가 있으며 공식 문서에서 권하는 방식으로 테스트를 하고 있습니다.
  • sms/flutter 폴더에는 플러터 앱 관련 코드가 있습니다.
    • 플러터에서는 FireFlutter 라는 패키지를 통해서 코딩을 합니다.
  • sms/vue 폴더에는 Vuejs 코드가 있습니다.
    • Vuejs 에서는 FireWeb node module 로 코딩을 합니다.

설치

파이어베이스 설치

플러터 앱 설정

구글 소셜 로그인 설정

페이스북 소셜 로그인 설정 및 코딩

푸시 알림 설정

주요기능

플러터 앱

커스터마이징

프레임의 조합

  • 절대원칙: 간단하고 쉬운면서 견고한 프레임 제작을 위해서 최적의 조합을 찾는 것이 목표입니다.

  • Firebase 를 선택한 이유는 Social Login 이나 휴대폰 번호 인증, Push Notification, 실시간 데이터 업데이트 등에 있어서 파이어베이스는 필수적인 툴입니다. 만약 Linux, Nginx, PHP 와 MySQL 의 조합 같은 다른 백엔드를 선택한다고 하여도 파이어베이스는 같이 사용을 해야합니다. 백엔드가 복잡해지면 개발자가 힘들어 할 것이며 커스터마이징은 더욱 힘들 것입니다. 그래서 Firebase 하나로 쉽고 간단하게 필요한 모든 것을 다 할 수 있도록 하였습니다.

파이어베이스 권한

권한 테스트

Functions 테스트

파이어베이스 베포

프로젝트 이슈

디자인

파이어스토어 데이터베이스 구조

파이어스토어의 데이터 관리와 비용 관계에 의한 설계

추천 로직

  • fireflutter readme 참고

사용자

푸시 알림 토큰

Admin account

게시판 카테고리

관리 및 운영

관리자 아이디 지정하기

설정

언어 설정

개발자 가이드라인

언어 번역

플러터 개발자 가이드라인

사용하는 패키지

테스트

  • 코멘트 계층형 구조 테스트
ForumTest();

풀 텍스트 검색