주저리 주저리...
저번 글에 나열한 것들 중 재직자특별전형 커뮤니티를 만들기로 했다.
근데 뭐 말이 커뮤니티지 이것 저것 내가 만들고 싶은 기능들을 구현해보는 것이 목적이다.
그러다 트래픽 높아지면 좋은거고 ...
개발 환경
처음 제대로 시작해보는 프로젝트라서 앞으로 변경될게 수도 없이 많을 것 같아서 큰 틀만 정해보았다.
1. Spring boot
학교 팀 프로젝트로 한 번 사용해본 경험이 있기도 하고 우리나라에서 가장 많이 사용하는 프레임 워크여서 백 단에서는 스프링 부트를 이용하기로 했다.
2. React
아직 리액트를 사용해본적은 없지만 아직 계획 단계이므로.
3. MariaDB
이것도 팀 프로젝트에서 사용해본 경험이 있어서 아마 마리아 디비를 사용하지 않을까 싶다.
DB에 대해 더 공부해서 적절한 DB가 있으면 추후에 이사할 수도 있고.
4. AWS
서버는 개발 과정에서 유일하게 돈이 드는 부분이므로 일단은 로컬에서 작업하고 어느 정도 서비스 할 단계가 되면 구축할 예정이다.
or 팀원이 생긴다면
설계
ERD 테이블 설계
저번에 학교 팀 프로젝트를 하면서 느낀 건 완벽하진 않더라도 데이터 베이스의 기본적인 틀은 설계 해놓아야 한다는 것이다.
수정할 일이 생각보다 많고 이 과정이 생각보다 많이 귀찮다.
그래서 https://www.erdcloud.com/ 사이트를 이용해 ERD 테이블을 시각화 해봤다.

첫 목표는 Spring에 대해 익숙해지는 것이기 때문에 게시판 구현을 목표로 잡았다.
MEMBER

- member_id : 기본키
- member_password : 암호화 해서 저장할 예정 (저번 프로젝트에서는 SHA256 사용했던 걸로 기억)
- email : email 인증 받아서 가입하게 만들 계획
- role : 관리자인지 일반 유저인지 구분
- status : 장기간 접속하지 않는 유저는 휴면 계정으로 처리
POST

- post_id : 기본키
- title, content : 제목, 내용
- status : 삭제되면 DB 상에서 바로 삭제하지 않고 그냥 hide 처리만 한다고 들었다.
- like : 게시글에 좋아요 기능 추가할 예정
- member_id를 외래키로 설정했다.
COMMENT

- comment_id : 기본키
- content : 댓글 내용
- like : 댓글도 좋아요 기능 구현할 예정
- member_id와 post_id를 외래키로 사용했다.
식별 관계와 비식별 관계
본 프로젝트에서는 모든 테이블을 비식별 관계 형태로 만들었다.
- 식별 관계란?
- 부모 테이블의 기본키 혹은 유니크 키를 자식 테이블이 자신의 기본키로 사용하는 것이다.요구사항이 변하지 않을 때 강력한 데이터 정합성을 보장한다.
- 즉, 부모 테이블에 데이터가 존재해야지만 자식 테이블에 데이터가 존재할 수 있다.
- ERD 상에서 실선으로 표시한다.
- 비식별 관계란?
- 부모 테이블의 기본키 혹은 유니크 키를 자식 테이블이 자신의 기본키가 아닌, 외래키로 사용하는 관계이다.
- 즉, 부모 테이블에 데이터가 존재하지 않아도 독립적으로 생성될 수 있다.
- 부모와의 의존성을 줄일 수 있기 때문에 데이터 조작에 있어서 자유로운 측면이 있다.
- ERD 상에서 점선으로 표시한다.
식별 관계는 추후 요구사항이 변경될 때 수정이 복잡하고 어렵기 때문에 비식별 관계로 테이블을 설계하는 것을 권장한다고 한다.
'Side Project' 카테고리의 다른 글
큐넷 자격증 시험 신청 매크로 (0) | 2024.03.26 |
---|---|
커뮤니티 만들기(1) - 아이디어 (1) | 2024.03.13 |
주저리 주저리...
저번 글에 나열한 것들 중 재직자특별전형 커뮤니티를 만들기로 했다.
근데 뭐 말이 커뮤니티지 이것 저것 내가 만들고 싶은 기능들을 구현해보는 것이 목적이다.
그러다 트래픽 높아지면 좋은거고 ...
개발 환경
처음 제대로 시작해보는 프로젝트라서 앞으로 변경될게 수도 없이 많을 것 같아서 큰 틀만 정해보았다.
1. Spring boot
학교 팀 프로젝트로 한 번 사용해본 경험이 있기도 하고 우리나라에서 가장 많이 사용하는 프레임 워크여서 백 단에서는 스프링 부트를 이용하기로 했다.
2. React
아직 리액트를 사용해본적은 없지만 아직 계획 단계이므로.
3. MariaDB
이것도 팀 프로젝트에서 사용해본 경험이 있어서 아마 마리아 디비를 사용하지 않을까 싶다.
DB에 대해 더 공부해서 적절한 DB가 있으면 추후에 이사할 수도 있고.
4. AWS
서버는 개발 과정에서 유일하게 돈이 드는 부분이므로 일단은 로컬에서 작업하고 어느 정도 서비스 할 단계가 되면 구축할 예정이다.
or 팀원이 생긴다면
설계
ERD 테이블 설계
저번에 학교 팀 프로젝트를 하면서 느낀 건 완벽하진 않더라도 데이터 베이스의 기본적인 틀은 설계 해놓아야 한다는 것이다.
수정할 일이 생각보다 많고 이 과정이 생각보다 많이 귀찮다.
그래서 https://www.erdcloud.com/ 사이트를 이용해 ERD 테이블을 시각화 해봤다.

첫 목표는 Spring에 대해 익숙해지는 것이기 때문에 게시판 구현을 목표로 잡았다.
MEMBER

- member_id : 기본키
- member_password : 암호화 해서 저장할 예정 (저번 프로젝트에서는 SHA256 사용했던 걸로 기억)
- email : email 인증 받아서 가입하게 만들 계획
- role : 관리자인지 일반 유저인지 구분
- status : 장기간 접속하지 않는 유저는 휴면 계정으로 처리
POST

- post_id : 기본키
- title, content : 제목, 내용
- status : 삭제되면 DB 상에서 바로 삭제하지 않고 그냥 hide 처리만 한다고 들었다.
- like : 게시글에 좋아요 기능 추가할 예정
- member_id를 외래키로 설정했다.
COMMENT

- comment_id : 기본키
- content : 댓글 내용
- like : 댓글도 좋아요 기능 구현할 예정
- member_id와 post_id를 외래키로 사용했다.
식별 관계와 비식별 관계
본 프로젝트에서는 모든 테이블을 비식별 관계 형태로 만들었다.
- 식별 관계란?
- 부모 테이블의 기본키 혹은 유니크 키를 자식 테이블이 자신의 기본키로 사용하는 것이다.요구사항이 변하지 않을 때 강력한 데이터 정합성을 보장한다.
- 즉, 부모 테이블에 데이터가 존재해야지만 자식 테이블에 데이터가 존재할 수 있다.
- ERD 상에서 실선으로 표시한다.
- 비식별 관계란?
- 부모 테이블의 기본키 혹은 유니크 키를 자식 테이블이 자신의 기본키가 아닌, 외래키로 사용하는 관계이다.
- 즉, 부모 테이블에 데이터가 존재하지 않아도 독립적으로 생성될 수 있다.
- 부모와의 의존성을 줄일 수 있기 때문에 데이터 조작에 있어서 자유로운 측면이 있다.
- ERD 상에서 점선으로 표시한다.
식별 관계는 추후 요구사항이 변경될 때 수정이 복잡하고 어렵기 때문에 비식별 관계로 테이블을 설계하는 것을 권장한다고 한다.
'Side Project' 카테고리의 다른 글
큐넷 자격증 시험 신청 매크로 (0) | 2024.03.26 |
---|---|
커뮤니티 만들기(1) - 아이디어 (1) | 2024.03.13 |