운동 능력 기록 앱
2022.10.04 ~ 2022.10.06 (3일)
1. 회원 정보 등록하기(교은)
- 회원 정보(이름, 생년월일, 키, 전화번호)를 기입하여 DB에 저장하도록 구현했습니다.
- 전화번호에 unique를 걸어 동일한 사용자가 중복등록하는 것을 방지하였습니다.
2. 회원 목록 가져오기(민지)
- 등록된 회원의 전체 리스트와 정보를 조회합니다.
3. 특정 회원 정보 가져오기(민지)
- 회원의 유저아이디, 이름, 핸드폰번호 중 한가지를 이용하여 해당 회원의 정보를 조회합니다.
4. 특정 회원 정보 수정하기(서준)
- 회원의 유저아이디를 이용하여 이름, 생년월일, 키, 전화번호를 일부 또는 전부 수정할 수 있습니다.
5. 특정 회원 삭제하기(육지)
- 회원 데이터는 실제로 삭제되는 것이 아니고 users 테이블 deleted_at 컬럼에 현재 시간을 업데이트해 주도록 구현했습니다.
- 이름과 휴대폰 번호는 마스킹 처리되어 업데이트됩니다.
1. 특정 회원의 측정 기록들(목록) 가져오기(서준)
- 유저아이디를 이용하여 해당 유저의 측정 기록을 전부 조회합니다.
2. 특정 측정 기록 및 측정 데이터 가져오기(윤재)
- 측정 기록 아이디를 이용하여 측정 기록을 조회합니다.
3. 특정 회원에 대한 측정 기록과 측정 데이터 생성(교은)
- 측정기록과 측정데이터는 동시 생성됩니다.
4. 측정 기록 삭제하기(예슬)
- 측정 기록 id를 패스 파라미터로 받아 해당 기록을 삭제합니다.
- 측정 데이터 테이블(datas)은 측정 기록 테이블(records)을 record_id라는 외래키 칼럼으로 참조합니다. record_id에는 ON DELETE CASCADE 조건이 걸려있기 때문에, 측정 기록 테이블(records)의 데이터를 삭제하면 연관된 측정 데이터도 모두 자동으로 삭제됩니다.
- ON DELETE CASCADE가 걸린 경우 mysql에서 자동으로 TRANSACTION을 사용하여 처리하므로 따로 트랜잭션을 명시하지는 않았습니다.
- 테스트코드 작성 후 jest로 테스트를 진행했습니다.
- 사용언어 : Javascript
- 런타임 환경 : Node.js
- 프레임워크 : Express
- 데이터베이스 : MySQL
- Init : 프로젝트 초기 세팅
- Add : 새로운 기능 추가
- Update : 원래도 정상적으로 동작하고 있었지만 수정, 추가, 보완 했을 때
- Fix : 올바르지 않은 동작을 고친 경우 (버그 수정)
- Chore : 빌드 업무 수정, 패키지 매니저 수정, 그 외 자잘한 수정에 대한 커밋
- Docs : 문서 작성, 수정
- Refactor : 코드 리팩토링
- Test : 테스트 코드 추가
- Style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우, linting