![스크린샷 2024-05-07 오후 3.26.44](https://hackmd.io/_uploads/Hk-g5SPM0.png) ## 테이블명 컨벤션 - 테이블명은 소문자 ## 기능 구현 순서 1. 이슈 목록 (메인 화면)을 화면을 표시한다. - issue 테이블에서 데이터 json으로 만들어 넘기기. - - 2. 이슈 작성 기능을 추가한다. - 3. 이슈 상세 4. 이슈 필터 5. 로그인 ## 테이블 구조 ### MileStone ``` CREATE TABLE milestone ( name VARCHAR(255) PRIMARY KEY, due_date timestamp, valid BOOLEAN DEFAULT FALSE ); ``` ### Issue ``` CREATE TABLE issue ( id INT PRIMARY KEY, title VARCHAR(255), content TEXT, profile_image VARCHAR(255), milestone_id VARCHAR(255), label_id VARCHAR(255), manager VARCHAR(255), writer VARCHAR(255), create_time TIMESTAMP, deleted BOOLEAN DEFAULT FALSE, FOREIGN KEY (milestone_id) REFERENCES milestone(name), FOREIGN KEY (label_id) REFERENCES label(name), FOREIGN KEY (manager) REFERENCES user(user_id), FOREIGN KEY (writer) REFERENCES user(user_id) ); ``` ### user ``` CREATE TABLE user ( user_id VARCHAR(255) PRIMARY KEY, user_password VARCHAR(255) ); ``` ### label ``` CREATE TABLE label ( name VARCHAR(255) PRIMARY KEY, description VARCHAR(255), color VARCHAR(255) ); ``` ## 코드 스타일 - 사용하지 않는 import 제거 - default 포맷 사용 - 클래스 - 클래스 다음 한칸 띄우기 - 중괄호 위치 ``` java // 여는 중괄호를 키워드와 같은 줄에 두는 예시 if (condition) { // code } else { // code } ``` - 변수 및 메서드 명명 규칙 클래스 이름: 파스칼 케이스(PascalCase) 매소드 이름: 카멜 케이스(camelCase) - 공백 ``` int sum = a + b; ``` ## API 문서화 - spring rest docs 사용 시도 - 사용이 익숙치 않으면 postman 혹은 위키로 작성