- SMS 는 Social Management System 의 약자로서 소셜 웹/앱 서비스에 필요한 기본 기능을 제공하는 프레임입니다.
-
웹이나 앱을 만들때 가장 쉬운 방법이 무엇일까, 현재 웹/앱의 흐름에 맞는 기능을 포함하며 가장 알맞는 방법은 무엇일까하는 고민을 수 없이 하였습니다.
-
SMS 는
간단하고 쉬운면서 견고한 프레임
작성을 최대의 가장 큰 목표로 하고 있습니다. 그래야 개발자들이 쉽게 이해하고 수정 할 수 있기 때문입니다. -
그 결과 데이터베이스는
Firebase
로 하기로 하였으며, 앱은Flutter
, 웹은Vue
로 하기로 하였습니다. 이 세가지는 모두 현재 개발 패러다임을 대표하는 프레임워크들입니다.- 참고로 처음 개발 버전에서 백엔드는 LEMP(Linux + Nginx + PHP + MySQL) 와 Firebase 의 조합으로 구성되었는데,
단순한 것이 쉬운 것
이라는 생각에 LEMP 를 빼고, Firebase 로만 백엔드를 구성하기로 했습니다.
- 참고로 처음 개발 버전에서 백엔드는 LEMP(Linux + Nginx + PHP + MySQL) 와 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 로 코딩을 합니다.
- Vuejs 에서는
-
절대원칙: 간단하고 쉬운면서 견고한 프레임
제작을 위해서 최적의 조합을 찾는 것이 목표입니다. -
Firebase 를 선택한 이유는 Social Login 이나 휴대폰 번호 인증, Push Notification, 실시간 데이터 업데이트 등에 있어서 파이어베이스는 필수적인 툴입니다. 만약 Linux, Nginx, PHP 와 MySQL 의 조합 같은 다른 백엔드를 선택한다고 하여도 파이어베이스는 같이 사용을 해야합니다. 백엔드가 복잡해지면 개발자가 힘들어 할 것이며 커스터마이징은 더욱 힘들 것입니다. 그래서 Firebase 하나로 쉽고 간단하게 필요한 모든 것을 다 할 수 있도록 하였습니다.
- fireflutter readme 참고
- 코멘트 계층형 구조 테스트
ForumTest();