Skip to content

yeseul-cho/athletic-performance-record-app-server

 
 

Repository files navigation

회원관리 및 운동 능력 기록 앱 서버

📌 팀원


📌 서비스 개요

운동 능력 기록 앱


📌 제작 기간

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로 테스트를 진행했습니다.

📌 DB Modeling

🔗 dbdiagram DB Modeling


📌 API DOCS

🔗 API DOCS


📌 적용 기술

  • 사용언어 : Javascript
  • 런타임 환경 : Node.js
  • 프레임워크 : Express
  • 데이터베이스 : MySQL

📌 Commit Convention

  • Init : 프로젝트 초기 세팅
  • Add : 새로운 기능 추가
  • Update : 원래도 정상적으로 동작하고 있었지만 수정, 추가, 보완 했을 때
  • Fix : 올바르지 않은 동작을 고친 경우 (버그 수정)
  • Chore : 빌드 업무 수정, 패키지 매니저 수정, 그 외 자잘한 수정에 대한 커밋
  • Docs : 문서 작성, 수정
  • Refactor : 코드 리팩토링
  • Test : 테스트 코드 추가
  • Style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우, linting

About

[기록 관리 서비스] 운동능력 기록 앱 서버

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%