PicShare WepApp 데이터베이스 구조 정리
ㆍProject Diary/React + MariaDB (PicShare WebApp)
1. ERD
2. 데이터 CRUD
회원관리
- 회원가입
const registerMember = (newMember) => {
kuwazawa_memberDB.push(newMember);
};
- 회원 정보수정
const updateMemberInfo = (userKey, userInfo) => {
kuwazawa_memberDB.child(userKey).update(userInfo);
};
- 회원 탈퇴
const deleteMember = (userKey) => {
kuwazawa_memberDB.child(userKey).remove();
};
- 로그인
const loginMember = () => {
kuwazawa_memberDB.on("value", (snapshot) => {
const membersObj = snapshot.val();
const membersArr = Object.entries(membersObj).map(([key, value]) => {
return { key, ...value };
});
dispatch(initMembers(membersArr));
});
};
피드관리
- 피드 작성
const createFeed = (newFeed) => {
kuwazawa_feedDB.push(newFeed);
};
- 피드 수정
const updateFeed = (feedKey, feedInfo) => {
kuwazawa_feedDB.child(feedKey).update(feedInfo);
};
- 피드 삭제
const deleteFeed = (feedKey) => {
kuwazawa_feedDB.child(feedKey).remove();
};
팔로우 / 언팔로우
- 팔로우 / 언팔로우 토글
const toggleFollow = (userKey, followStatus) => {
kuwazawa_followDB.child(userKey).update({ follow: followStatus });
};
좋아요
- 좋아요 토글
const toggleLike = (feedKey, userKey, likeStatus) => {
kuwazawa_likeDB.child(feedKey).child(userKey).update({ liked: likeStatus });
};