다음은 회원 관리 앱을 위한 기능 명세서 입니다.
-
회원 전체 목록 조회
- 설명 : 모든 등록된 회원을 중복되지 않게 목록으로 표시합니다.
- 입력 : 없음
- 출력 : 회원들의 기본 정보를 포함한 목록 (회원 ID, 이름, 이메일)
- 참고 : 없음
-
회원 상세 조회
- 설명 : 특정 회원의 상세 정보를 표시합니다.
- 입력 : 회원 ID
- 출력 : 선택한 회원의 모든 저장된 정보 (회원 ID, 이름, 이메일, 생년월일, 가입일자)
- 참고 : 없음
-
회원 가입
- 설명 : 새로운 회원을 DB에 추가합니다.
- 입력 : 이름, 이메일, 생년월일
- 출력 : 새로운 회원 정보와 함께 성공적으로 회원이 생성되었음을 알림
- 참고 :
- 사용자에게 입력 받지 않는 정보(ID, 가입일자)는 직접 만들어 저장해야 함
- 이름과 이메일은 필수 입력 사항이며, 생년월일은 선택 사항임
- 이메일은 중복되선 안됨
-
회원 정보 수정
- 설명 : DB 저장된 회원 정보를 수정합니다.
- 입력 : 회원 ID, 이름, 이메일, 생년월일
- 출력 : 변경된 회원 정보와 함께 성공적으로 회원 정보가 수정되었음을 알림
- 참고 :
- 회원 ID와 가입일자는 변경되면 안됨
- 이름과 이메일은 필수 입력사항이며, 생년월일은 선택 사항임
- 이메일은 중복되선 안됨
-
회원 삭제
- 설명 : 특정 회원을 DB에서 삭제합니다.
- 입력 : 회원 ID
- 출력 : 성공적으로 회원이 삭제되었음을 알림
- 참고 : 없음
회원 관리 앱의 기능 명세서를 기반으로, 앱에서 사용할 데이터베이스(DB) 테이블을 설계하는 것이 미션입니다. 회원의 필수 정보를 효과적으로 저장하고 관리할 수 있도록 DB 구조를 설계하고, 각 테이블과 필드에 대한 설명을 작성하세요.
-
테이블 설계
- 회원 정보를 저장할 테이블을 설계하세요.
- 각 필드의 데이터 타입을 회원 관리에 적합한 형식으로 설정하세요. (예:
VARCHAR
,DATETIME
등). - 각 필드에 적용할 제약 조건을 설정하세요 (예:
NOT NULL
,UNIQUE
등).
-
제약 조건
- 기본 키 (Primary Key): 각 회원을 고유하게 식별할 수 있는 기본 키를 설정하세요.
- 유일성 제약 (Unique Constraint): 이메일 필드에 유일성 제약을 추가하여 중복된 이메일이 저장되지 않도록 하세요.
- 필수 제약 (NOT NULL): 필수 입력이 필요한 필드에는
NOT NULL
제약을 추가하세요.
-
스키마 설계 결과물 작성
- 테이블 및 필드 구조를 설계한 후 깃허브에 제출하세요.
- 테이블 이름, 각 필드 이름, 데이터 타입, 제약 조건 등이 포함되어야 합니다.
- 테이블 설계 도구를 자유롭게 사용하세요 (예: dbiagram.io, ERDCloud, 등).
- 노션이나, 한글 문서 등을 사용해도 좋습니다.
- DBMS는 SQLite를 사용합니다.
테이블 설계를 기반으로, 실제 DB 테이블을 생성하는 것이 미션입니다. Django의 Model을 이용해 DB 테이블을 생성해보세요.
- Model 클래스를 이용해 회원 정보를 저장할 테이블을 생성하세요.
- DB 스키마에서 설계한 테이블 이름, 필드 이름, 데이터 타입, 제약 조건과 일치하게 생성해야 합니다.
- 생성한 Model 클래스가 들어있는 models.py, db.sqlite3 파일을 포함한 프로젝트 파일을 GitHub에 업로드하세요.