Firebase Authentication
식별자
제공업체
생성한 날짜
로그인한 날짜
사용자 UID
현재 내 USER 테이블
user_no
user_ID
user_PW
user_name
nickname
sex
JoinDate
LastLogin
LastPWupdate
Authentication에서 정보들을 관리해주기도 하고, 너무 많은것을 취급하려 했었던게 아닐까 싶다.
Firebase Authentication에서 비밀번호 찾기는 어떻게 하지?
일단, Node에서 너무 많은 처리를 하도록 하려 했었던것은 욕심이였던 것 같다.
원래는 회원가입 할때마다, 내 Node에도 데이터들을 넣어주려 하였는데, 그냥 로그인은 UID로 하고, USER 테이블에 정보를 집어넣는 2차 가입 단계를 가지면 될 것 같다.
그리고, 비밀번호는 내가 관리할 수 있는 영역이 아닌것 같다.
회원가입일, 마지막 로그인도 굳이 내가 가질 필요는 없다.
유저의 자기소개, 사용 기술, 관심분야 등 은 어떻게 표현해야 하는가?
회원등급 테이블이 따로 필요할까?
-1009 : 관리자 회원
-1 : 탈퇴 / 이용불가
0, NULL : 임시 회원(firebase에는 회원가입하고 user테이블에는 정보가 입력되지 않은 상태)
1 : 일반 회원
2 : 기업회원
그냥 userNO 안사용하고, UID로 글 작성, 수정 같은 잡다구리한 작업 모두 맡겨도 될까?
클라이언트는 로그인할때마다, Grade를 받아오고 항상 보관한다.
PK가 순차적으로 쌓이는게 더 성능이 좋을까?
하지만, 로그인을 결국은 UID를 받아와서 인증과정을 거칠텐데, userNO가 PK일 필요는 없을것같다.
UID를 PK로 두는게 성능에 더 좋을 것 같다. 아니면 인덱스만 주던가...
...그냥 Firebase를 끝까지 들고간다고 생각하면 그냥 userNO를 없애버리는게 훨씬 효율적일 것이라는 생각이 든다.
그게 맞는듯.
그냥 없애자.
firebase로 로그인하고, user테이블을 read하는데, 원하는 결과(uid)로 검색한 결과가 null이면 insert 작업을 하도록 한다.
검색할 때 애초에 grade, nickName 받아오도록 한다.
역시, 기술에 능숙하지 못해서 그렇지 ERD 자체는 그렇게 복잡하지 않은 모습을 보인다.
대댓글 기능은 만들어야하나? 계층형쿼리였나 쓰면 되긴 했던거같은데...
유튜브는 댓글/대댓글까지만 있고, 나머지는 그냥 멘션만 하는게 아닐까 싶다.
그게 더 부하가 적을것 같긴 하다.
이미지 서버를 따로 구축하는건 어떨까?
친구목록 같은것은 어떻게 하지?
근데 구글 로그인같은거로 하면, UID는 오더라도 userID는 안올거아니야?
그럼 이것도 지워야하네?
명함에 쓸만한 내용들은 UserDetail에 있는데 직접 명함도 구성해야하니, 명함 테이블도 또 따로 필요해질 것 같다.
만약, 사진들만 주루룩 갖는게 아니라, 사진 사이사이에 정보를 갖도록 만들고 싶다면 어떻게 해야 할까?
이번주 내에 ERD는 완성을 해야 할 것.
그리고, 완성 후 2~3일 내로 DB 안에 테이블까지 생성하는걸 목표로 하자.
이미지 하나당 최대 용량을 몇 메가 정도로 책정하는게 좋을까?
firebase의 프로젝트 무료배포가 어려워졌다. 타 사이트를 활용해 배포하는 방법을 찾아봐야 할 듯.
https://nhj12311.tistory.com/276
https://doqtqu.tistory.com/239
후보 1 : 헤로쿠
후보 2 : NAS
후보 3 : 유료로 firebase 활용
근데 비상!
firebase의 realtime database는 관계형 DB가 아니다.?
무료 DB 호스팅 서비스도 알아봐야하나
일단 Node.js는 헤로쿠라는 곳에서 배포해도 될것같다.
(프론트는 github)
근데 DB가 문제다.;;
진짜로 nas를 만들어봐야 하나?
아니면 realtime database의 활용 방법을 공부 해야하나?
..어차피 새로운 도전을 하는 김에
근데 그렇게 한다고 했을 때, 굳이 Node.js가 필요한가?
데이터는 클라이언트에서 직접 들고올 수도 있을테고, 로그인 상태는 ...아 권한같은것을 처리하려면 어쩔 수 없으려나?
옛날에는 왜 JSON형태로 안쓰고, 관계형 DB를 써야하나 생각했었는데 써보려니까 새삼 낯설다.
일단, NoSQL에 대해 잘 모르다 보니, 알아보고 있는데 내 프로젝트에서는 RDBMS가 훨씬 적합할 것 같다는 생각이 든다.
...DB 배포는 나중에 생각하고, 일단 개발을 재개하면 될 듯 하다.
다시 MariaDB로 작업해보자.
이미지나 파일 업로드같은건, firebase를 사용하도록 해도 될 듯 하다.
추가정보 :
https://here4you.tistory.com/235