해당 프로그램은 Todo 관리 웹 서버입니다.
탑재된 기능은 회원가입, 로그인, Todo 등록, 조회, 수정, 삭제, Todo에 대한 댓글 등록, 수정, 삭제입니다.
각 기능은 RESTful API를 통해 구현되었으며, Client는 HTTP 요청을 통해 서버와 상호작용합니다.
이 서버는 IntelliJ를 사용하여 개발되었으며, 데이터베이스는 MySQL를 사용합니다.
- IDE : IntelliJ IDEA
- 언어 : JAVA
- 버전 : JDK 17
- DB : MySQL 8.0
- Framework : SpirngBoot 3.1.0
입문 주차 ver.1
- Todo 등록
- 사용자는 제목, 내용, 담당자, 비밀번호를 입력하여 Todo를 등록할 수 있습니다.
- 생성된 Todo 정보는 비밀번호를 제외하고 반환되어, 정상 등록 처리된 것을 확인할 수 있습니다.
- Todo 조회
- 사용자는 특정 Todo를 선택하여 상세 내용을 조회할 수 있습니다.
- 사용자는 전체 Todo 목록을 조회할 수 있습니다. 조회 형태는 작성일을 기준으로 내림차순으로 정렬되어 최근 등록 내역부터 확인 할 수 있습니다.
- Todo 수정
- 사용자는 특정 Todo의 제목, 내용, 담당자를 수정할 수 있습니다.
- 수정 간 비밀번호를 필요로 하며 DB 데이터와 일치한 경우에만 수정을 허용합니다.
- Todo 삭제
- 사용자는 특정 Todo를 삭제할 수 있습니다.
- 삭제 간 비밀번호를 필요로 하며 DB 데이터와 일치한 경우에만 삭제를 허용합니다.
숙련 주차 ver.2
- 회원가입
- 사용자는 사용자 이름과 비밀번호, 별명을 입력하여 회원가입할 수 있습니다.
- 생성된 회원정보는 DB에 저장되며 비밀번호는 암호화되지 않습니다.
- 로그인
- 사용자는 회원가입에 사용된 사용자 이름과 비밀번호를 입력하여 로그인할 수 있습니다.
- 로그인이 정상 처리되면 JWT에 사용자 이름과 권한 정보를 저장하여 Http Header를 통해 발행합니다.
- JWT 토큰은 로그인 후 서비스 이용 간 회원/비회원 검증을 위해 사용됩니다.
- Todo 등록
- JWT를 소유하고 있는 사용자는 제목, 내용를 입력하여 Todo를 등록할 수 있습니다.
- JWT를 미소유하고 있는 사용자는 로그인을 요청 받습니다.
- 등록 간 JWT를 확인하여 사용자의 정보를 자동으로 Todo 정보에 대입합니다.
- 생성된 Todo 정보는 비밀번호를 제외하고 반환되어, 정상 등록 처리된 것을 확인할 수 있습니다.
- Todo 조회
- 조회는 회원/비회원을 구분하지 않고 누구나 가능합니다.
- 사용자는 특정 Todo를 선택하여 상세 내용을 조회할 수 있습니다.
- 사용자는 전체 Todo 목록을 조회할 수 있습니다. 조회 형태는 작성일을 기준으로 내림차순으로 정렬되어 최근 등록 내역부터 확인 할 수 있습니다.
- Todo 수정
- JWT를 소유하고 있는 사용자는 직접 작성한 Todo의 제목, 내용를 수정할 수 있습니다.
- 수정 간 JWT를 확인하여 Todo의 사용자 정보와 일치한 경우에만 수정을 허용합니다.
- Todo 삭제
- JWT를 소유하고 있는 사용자는 직접 작성한 Todo를 삭제할 수 있습니다.
- 삭제 간 JWT를 확인하여 Todo의 사용자 정보와 일치한 경우에만 삭제를 허용합니다.
- Comment 등록
- JWT를 소유하고 있는 사용자는 등록되어 있는 Todo에 대해 댓글을 등록할 수 있습니다.
- JWT를 미소유하고 있는 사용자는 로그인을 요청 받습니다.
- 등록 간 JWT를 확인하여 사용자 정보를 자동으로 Comment 정보에 대입합니다.
- 등록된 Comment 정보는 자동으로 반환되어 정상 등록 처리된 것을 확인할 수 있습니다.
- Comment 수정
- JWT를 소유하고 있는 사용자는 직접 작성한 Comment에 대해 댓글을 수정할 수 있습니다.
- 수정 간 JWT를 확인하여 Comment의 사용자 정보와 일치한 경우에만 수정을 허용합니다.
- Comment 삭제
- JWT를 소유하고 있는 사용자는 직접 작성한 Comment를 삭제할 수 있습니다.
- 삭제 간 JWT를 확인하여 Comment의 사용자 정보와 일치한 경우에만 삭제를 허용합니다.