Project : Music Flower
2022/03/01 스키마 API 작성
괴발새발자
2022. 3. 1. 16:28
스키마 작성
사용 툴 : https://dbdiagram.io/home

CREATE TABLE `users` (
`id` int PRIMARY KEY,
`email` varchar(255),
`password` timestamp,
`nickname` int
);
CREATE TABLE `post` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`user_id` int,
`image` img,
`text` varchar(255),
`total_Likes` int,
`total_commet` int,
`created_at` timestamp
);
CREATE TABLE `Post_comments` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`user_id` int,
`post_id` int,
`commnet` varchar(255),
`created_at` timestamp
);
CREATE TABLE `hashtag` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`tagname` varchar(255)
);
CREATE TABLE `post_hash` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`post_id` int,
`hashtag_id` int
);
CREATE TABLE `post_likes` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`user_id` int,
`post_id` int
);
CREATE TABLE `music_data` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`title` varchar(255),
`musician` varchar(255),
`genre` varchar(255),
`url` link
);
CREATE TABLE `post_music_list` (
`id` int PRIMARY KEY AUTO_INCREMENT,
`post_id` int,
`musicdata_id` int
);
ALTER TABLE `users` ADD FOREIGN KEY (`id`) REFERENCES `post` (`user_id`);
ALTER TABLE `users` ADD FOREIGN KEY (`id`) REFERENCES `Post_comments` (`user_id`);
ALTER TABLE `post` ADD FOREIGN KEY (`id`) REFERENCES `Post_comments` (`post_id`);
ALTER TABLE `post` ADD FOREIGN KEY (`id`) REFERENCES `post_likes` (`post_id`);
ALTER TABLE `users` ADD FOREIGN KEY (`id`) REFERENCES `post_likes` (`user_id`);
ALTER TABLE `music_data` ADD FOREIGN KEY (`id`) REFERENCES `post_music_list` (`musicdata_id`);
ALTER TABLE `post_music_list` ADD FOREIGN KEY (`post_id`) REFERENCES `post` (`id`);
ALTER TABLE `post` ADD FOREIGN KEY (`id`) REFERENCES `post_hash` (`post_id`);
ALTER TABLE `hashtag` ADD FOREIGN KEY (`id`) REFERENCES `post_hash` (`hashtag_id`);
- music_data를 가져오는 것을 Spotify API에서 받아오는 외부 데이터로 대체할지 논의했다.
- user 테이블에 salt 값을 넣는 것에 대해 토의했으나 이번 프로젝트에서 해쉬값, 솔트 값을 넣는 것은
- music_data를 바로 post의 column으로 넣는 것 vs music_data테이블과 post 테이블 사이에 post_music_list 테이블을 넣는 것 사이에서 의견충돌이 있었다.
- 나의 의견 : 데이터 테이블은 순수하게 그 데이터만 담겨있어야한다는 지론을 펼쳤다. 여러 테이블을 만들 수 밖에 없는 점에 대해서 설득하는 것이 쉽지 않았으나, 팀 내에서 내 의견이 받아들여져서 결국 music_data와 post의 아이디 값을 참조하는 post_music_list 테이블이 유지될 수 있었다. (다대다 구조)
- 느낀 점 : 테이블과 테이블 사이의 관계를 명확히 알고 설명할 수 있는 능력이 필요하다는 것을 깨달았다.
|
API 문서 작성
사용 툴 : https://www.gitbook.com
GitBook - Where software teams break knowledge silos.
GitBook helps you publish beautiful docs and centralize your teams' knowledge. From technical teams to the whole company.
www.gitbook.com
현재 작성 중인 API 문서 : https://app.gitbook.com/o/LRakOsh6mYykzxRI0iij/s/6ifJhZJO4cHtLy9o0WiG/group-1/music-flower
GitBook
app.gitbook.com
- HTTP 메소드, params를 활용하여 API를 작성하는 법을 익혀야겠다.(Section2 과제 및 노션 정리한 것 공부)
- 서버와 클라이언트 사이에 토큰이 교환되는 플로우에 대해 다시 익히고 공부해야겠다. (Section3 과제 및 노션 정리한 것 공부)