본문 바로가기
  • 실행력이 모든걸 결정한다
개발 프로젝트/[팀] Web - SQL 교육 사이트

[팀 프로젝트] SQL 교육 사이트 - 20221009 중반 작업 안내

by 김코더 김주역 2022. 10. 7.
반응형

 1차 작업 역할 분담 결과

팀장

- 학습 페이지 샘플 코드와 Unit 1, 16, 17

- 테스트 채점 Ajax용 컨트롤러 샘플 코드

- 코드 감독 (회의, 중간 검토 등)

 

우찬*

- 로그인 기능 구현

- 학습 페이지 Unit 5, 6, 7, 8

 

염형*

- 버그/자유 게시판 구현

- 학습 페이지 Unit 9, 10, 11, 12

 

하정*

- 학습 페이지 Unit 2, 3, 4, 13, 14, 15

 

후반 작업은 추후에 배정할 계획

 

 

 

 작업별 지시사항

학습 페이지

공통 지시 사항

-> 아래에서 따로 언급하지 않은 Unit은 크게 제약 사항이 없습니다. 예제를 만들 때는 /h2-console에서 SQL을 꼭 테스트하세요. 학습 사이트다 보니 부정확한 정보가 있으면 절대 안됩니다.

 

Unit 7 날짜/시간 함수 파트

-> 파트 맨 처음에 http://www.tcpschool.com/mysql/mysql_datatype_dateTime의 DATE, DATETIME, TIMESTAMP 타입을 간략하게 설명합니다. 다음과 같이 예시를 들어 설명하면 좋을 것 같습니다.

(1) DATE : 예) DATE '1948-05-14'
(2) TIME : 예) TIME '15:00:02'
(3) TIMESTAMP : 예) TIMESTAMP '1945-05-14 12:00:00'

 

Unit 8 그룹 함수 파트

-> GROUP BY 절 전 내용까지만 반영하면 됩니다.

 

Unit 9 비교 연산자 파트

-> 부등호, IS NULL, BETWEEN 부분은 중요하기 때문에 SQL 예시를 들도록 합니다.

 

Unit 11 흐름 제어 파트

-> IF() 부분은 생략합니다.

 

Unit 12 LIKE 파트

-> http://www.tcpschool.com/mysql/mysql_operator_patternMatching을 참고하면 되고, REGEXP 부분은 생략합니다.

 

 

로그인 기능

- 사용자에게 ID, 패스워드, 패스워드 확인을 받아서 회원 가입을 진행합니다. 회원 가입 때 입력한 패스워드는 반드시 BCryptPasswordEncoder를 통해 암호화 하여 DB에 저장하도록 합니다. BCryptPasswordEncoder의 사용 방법은 아래 포스팅을 참고하면 됩니다.

https://kimcoder.tistory.com/251

 

[Spring] Spring Security(6) - 암호화로 보안 강도 높이기

이번 포스팅에서는 사용자가 회원 가입할 때 데이터베이스에 암호화된 비밀번호를 저장하여 보안 강도를 강력하게 높여주는 방법을 다룰 것이다. 아이디 : test1, 원본 패스워드 : 1234 ("1234"가 위

kimcoder.tistory.com

- 유저 정보 테이블은 유저 번호(long), ID(String), 패스워드(String), 학습 현황(int), 활동 포인트(int) 정보를 담은 @Entity 클래스를 통해 자동으로 생성되게 합니다.

- 유저 정보는 빨간 테두리로 표시한 것 처럼 모든 페이지의 오른쪽에 배치할 계획입니다. 로그인 상태라면 이 곳에 ID, 학습 현황, 활동 포인트, 로그아웃 버튼을 표시하고, 로그아웃 상태라면 로그인, 회원가입 버튼을 표시하면 됩니다. 학습 현황과 활동 포인트는 일단은 0으로 표시합니다.

mustache의 특징은 mustache 파일째로 코드를 분해 및 조립할 수 있다는 점을 이용해서, 유저 정보에 대한 mustache 파일은 templates/part 디렉토리에 저장하도록 합니다.

 

 

버그/자유 게시판

- 작성자를 자동으로 표시하려면 로그인 기능이 먼저 구현되어야 하기 때문에, 일단은 글이나 댓글을 작성할 때 작성자를 직접 입력할 수 있도록 구현하세요. 

- 다음과 같이 제목 또는 작성자를 기준으로 글을 검색하는 기능을 추가하세요.

- 모든 글과 댓글은 작성자가 자신일 경우에만 수정/삭제가 가능하도록 합니다.

 

 

 

▣ 기타 안내 사항

- 교육 과정을 매끄럽게 하기 위한 이유로 학습 페이지의 Unit 순서에 약간의 변동을 줬습니다.

- 1차 작업이기 때문에 일단은 기능이 제대로 동작하도록 구현하되, 중간에 요구 사항이나 리팩토링 등의 지시 사항이 내려올 가능성을 대비해야 합니다.

- 소프트웨어의 품질을 평가하는 5가지는 사용용이성, 효율성, 신뢰성, 유지보수성, 재사용성입니다. 이 5가지를 최대한 준수하도록 노력하길 바랍니다.

- 부담 갖지 말고 최선을 다하는 것이 중요합니다. 애로 사항이나 궁금한 점이 있다면 팀장에게 말하길 바랍니다.★

 

반응형

댓글