Giter Site home page Giter Site logo

kanvan's Introduction

kanvan - 프로젝트 관리 시스템



kanvan은 프로젝트 및 작업 관리를 위한 직관적이고 유연한 도구로, 팀 간 협업과 업무 효율성을 향상 시키는데 사용됩니다.

0. 목차

1. 개발 기간

2023.11.27 ~ 2023.12.06 (10 days)

2.프로젝트 요구사항

  • 유저
    • 회원가입 및 로그인 기능 구현.
    • JWT를 이용한 사용자 인증.
    • 팀 생성 기능
    • 팀원 초대 기능 및 초대 의사 결정 기능
    • 팀 전체 조회 및 상세 조회
    • 유저가 받은 초대 목록 조회
    • 팀 생성 및 초대 수락 시 팀 내에 권한 부여(팀장, 팀원)
  • 컬럼
    • 컬럼 생성 기능
    • 컬럼 목록 조회 기능
    • 컬럼 제목 변경 기능
    • 컬럼 순서 변경 기능
    • 컬럼 삭제 기능(컬럼 내 티켓이 없는 경우에만)
  • 티켓
    • 티켓 생성 기능
    • 티켓 필드 수정 기능
    • 티켓 순서 수정 기능
    • 티켓 삭제 기능

3. 프로젝트 구조

자세히
└── kanvan
    ├── KanvanApplication.java
    ├── auth
    │   ├── config
    │   ├── controller
    │   ├── dto
    │   ├── filter
    │   ├── jwt
    │   └── service
    ├── column
    │   ├── controller
    │   ├── domain
    │   ├── dto
    │   ├── repository
    │   └── service
    ├── common
    │   ├── config
    │   └── exception
    ├── team
    │   ├── controller
    │   ├── domain
    │   ├── dto
    │   ├── repository
    │   └── service
    ├── ticket
    │   ├── controller
    │   ├── domain
    │   ├── dto
    │   ├── repository
    │   └── service
    └── user
        ├── domain
        ├── dto
        ├── repository
        └── service

4. ERD

스크린샷 2023-12-06 오후 4 07 08

5. API 문서

URL : http://server:port/swagger-ui/index.html

스크린샷 2023-12-06 오후 3 34 18

kanvan's People

Contributors

cjw9506 avatar

Watchers

 avatar

kanvan's Issues

refactor: 팀 기능 리팩토링

🚀 목적 및 필요성

  • 팀 기능에 필요한 권한 검증 추가
  • 팀 api 엔드포인트 restful하게 변경

📋 작업 상세 내용

  • 초대 및 필요한 기능에 권한 검증 추가
  • 엔드포인트 resful하게 변경
  • 추가 작업이 있다면 수정

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

feat: column 기능 구현

🚀 목적 및 필요성

칸반보드에 활용할 column 엔티티를 작성하고, 기능을 구현합니다.

  • 컬럼 생성(이름, 순서) → 추가된 column 은 항시 맨 마지막에 위치 (팀장 권한)
  • 전체 조회(팀, 컬럼들,티켓 목록) → 컬럼 순서에 맞게 반환(팀장 및 팀원 권한)
  • 컬럼 수정(이름 변경) → (팀장 및 팀원 권한)
  • 컬럼 삭제(티켓이 없는 경우에만) → (팀장 권한)

📋 작업 상세 내용

  • 컬럼 엔티티 작성
  • 컬럼 기능 구현

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

refactor: 컬럼 기능 리팩토링

🚀 목적 및 필요성

  • 컬럼 api 더 restful 하게 변경하기
  • 불필요한 조회(팀의 멤버인지 확인)를 줄이고 권한 검증을 통해 검증하기
  • 추가적인 개선점이 있으면 개선

📋 작업 상세 내용

  • api 엔드포인트 수정
  • 불필요한 조회 삭제
  • 권한 검증 추가

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

feat: security 예외처리

🚀 목적 및 필요성

security filter 예외처리를 구현합니다.

📋 작업 상세 내용

  • security 예외처리 구현

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

feat: 유저 회원가입 구현

🚀 목적 및 필요성

유저 관련 기능을 구현합니다.

📋 작업 상세 내용

  • 유저 엔티티 작성
  • 유저 비밀번호 암호화
  • 유저 회원가입 API

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

feat: Ticket 기능 구현

🚀 목적 및 필요성

팀 컬럼 내 사용할 티켓 기능을 구현합니다.

📋 작업 상세 내용

  • 티켓 관련 API 구현
  • 티켓 엔티티 작성

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

refactor: 티켓 기능 및 api 리팩토링

🚀 목적 및 필요성

  • 기존 api에 권한 체크를 추가
  • api를 조금 더 restful하게 작성
  • 불필요한 조회 및 로직 최적화

📋 작업 상세 내용

  • api에 권한 검증 추가
  • 불필요한 조회 수정
  • api url 더욱 restful하게 변경

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

test: 컬럼 기능 테스트 구현

🚀 목적 및 필요성

컬럼 API controller 단위 테스트 작성하기!

📋 작업 상세 내용

  • 컬럼 API 단위 테스트 작성

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

feat: JWT 재발급 기능 구현

🚀 목적 및 필요성

jwt토큰 재발급 기능 구현 -> 회원가입 및 로그인 시 발급되는 토큰이 만료되면 RT를 통해 AT를 재발급

📋 작업 상세 내용

  • 토큰 재발급 기능 구현

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

feat: 팀, 초대 조회 기능 구현

🚀 목적 및 필요성

요구사항에는 없었지만, 팀 초대 및 수락 기능이 정상 동작하려면 조회기능이 필수불가결한 것 같아 구현하려고 함.

📋 작업 상세 내용

  • 초대 전체 조회(유저)
  • 팀 전체 조회(유저)
  • 팀 단건 조회

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

feat: Security 설정 및 유저 로그인 구현

🚀 목적 및 필요성

Spring Security 설정과 유저 로그인 기능을 구현합니다. ( + JWT)

📋 작업 상세 내용

  • 유저 로그인 API
  • 로그인 시 JWT 발급
  • Security 인증/인가

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

test: 팀 관련 테스트 구현

🚀 목적 및 필요성

팀 API controller 단위 테스트 작성하기

📋 작업 상세 내용

  • 팀 관련 API 단위 테스트 작성

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

feat: 팀 기능 구현

🚀 목적 및 필요성

팀 관련 기능과 엔티티를 작성합니다.

📋 작업 상세 내용

  • 팀 엔티티 구현
  • 팀 생성 구현
  • 팀원 초대 기능 구현
  • 팀원 초대 수락 기능 구현

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

test: 회원 관련 기능 테스트

🚀 목적 및 필요성

회원 관련 controller단 단위테스트를 진행합니다.

📋 작업 상세 내용

  • 회원 단위테스트 작성

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

docs: swagger 문서 작성

🚀 목적 및 필요성

API 문서화를 위해 swagger를 추가합니다.

📋 작업 상세 내용

  • swagger 의존성 추가
  • 코드에 swagger기능 추가

📎 참고 사항

feat: 팀 생성시 권한 추가

🚀 목적 및 필요성

기존 : 메서드마다 조회해서 권한 검증
변경 : 팀 생성시 유저 권한에 추가

📋 작업 상세 내용

  • 팀 생성 시 권한 추가 ex) 1_LEADER
  • 초대 수락 시 권한 추가 ex) 2_MEMBER

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

feat: 로그아웃 기능 구현

🚀 목적 및 필요성

로그아웃 기능을 구현합니다.
Redis 활용 예정

📋 작업 상세 내용

  • 로그아웃 기능 구현

📎 참고 사항

  • (여기에 참고할 사항을 작성하세요.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.