Giter Site home page Giter Site logo

20th-all-rounder-team-2-be's Introduction

🎾 Knowlly

각자 잘아는 분야의 지식들을 서로 공유 할 수 있는 지식교환 플랫폼

image

기획 의도

  • 새로운 분야의 지식을 배우고 싶은데 금전적 여유가 없다 → 내가 아는 지식을 공유하고 새로운 지식을 배우자

Tech Stack

  • Backend

    • Java 11, Spring Boot, Spring Data JPA, MySQL
    • Spring Security, JWT, OAuth 2.0
  • Infra

    • Docker, K8S

ERD : https://www.erdcloud.com/d/upxjamqGs5qPfYyXC

git convention

  • 형식 : <업무명>: <작업 내용> (#이슈번호)
업무명 내용
CHORE 빌드 업무 수정, 패키지 매니저 수정
ADD 코드나 테스트, 예제, 문서 등의 추가
FIX 올바르지 않은 동작을 고친 경우
REMOVE 코드의 삭제가 있을 때
UPDATE 문서나 리소스, 라이브러리등의 수정, 추가, 보완
FEAT 새로운 기능 추가
CORRECT 주로 문법의 오류나 타입의 변경, 이름 변경 등
REFACTOR 코드의 전면적인 수정
DOCS 문서의 개정
RENAME 파일의 이름 변경
TEST TEST 코드 관련

브랜치 전략

  • main : 메인 작업 및 운영 환경의 형상 브랜치
  • feature : 작업 브랜치
    • 네이밍
      • feature/ISSUE-{git issue 번호}
      • ex) feature/ISSUE-23

20th-all-rounder-team-2-be's People

Contributors

nardo627 avatar cafe24-hkpark02 avatar park-young-hun avatar toastmeister1 avatar

Stargazers

Minji Ma avatar Jihun Lee avatar  avatar 대환임 avatar  avatar

20th-all-rounder-team-2-be's Issues

[설계] 도메인 설계

지금까지 나온 기획을 바탕으로 도메인 설계하기
방식은 클래스 다이어그램이든, ERD를 그리던 자유롭게 하는 걸로

[기능] 운영클래스 목록 조회 기능

기능

  • 매칭중 클래스 목록 조회 기능
  • 예정된 클래스 목록 조회 기능
  • 완료된 클래스 목록 조회 기능

할 일

  • 매칭중 클래스 목록 조회 기능
  • 예정된 클래스 목록 조회 기능
  • 완료된 클래스 목록 조회 기능
  • 테스트 코드 작성

마감기한 (선택)

[기능] jacoco 테스트 커버리지 측정 도구 도입

기능

할 일

  • #36
  • github action 워크 플로 수정 - PR시 테스트 커버리지 표시될 수 있도록

마감기한 (선택)

[수정] user 테이블에 email 컬럼에 제약조건 제거

수정 내용

  • email 입력이 필수가 아닐 수도 있기에, email 칼럼에서 unique 및 not null 제약조건을 제거한다.

할 일

  • liquibase 스키마 업데이트
  • Entity 업데이트
  • dbunit 및 관련 테스트 업데이트

마감기한 (선택)

[업무] ERD 추가 논의 사항

  1. 클래스(Lecture)에 후기 작성 여부 표시
  2. 현재 안읽은 알림이 있는지 표시하기 위해 알림 테이블에 last_read_id 속성 추가 필요성
  3. 클래스의 일정이 꽉차면 게시판에서 보이지 않게 해야하고 코치의 완료된 클래스에서 추가 일정을 등록할 수 있어야함.
    하나의 일정이라도 있다면 게시판에 다시 게시.

[기능] 등록된 클래스 검색 기능

기능

  • 등록된 클래스 검색 기능

할 일

  • 클래스명 기반 검색 ex) 로고 만들기
  • 카테고리 기반 검색 ex) 디자인, 개발
  • 테스트 코드 작성

마감기한 (선택)

[설계] ERD 작성

회의 결과물 임시 ERD 기반으로 속성까지 기재된 상세한 ERD 작성.

[수정] user테이블에 identifier 컬럼 추가

수정 내용

  • 내부적으로 소셜 로그인 사용자를 구분하기 위한 식별자 컬럼이 필요하다.

할 일

  • ERD 상으로 식별자 컬럼 추가
  • liquibase 스키마 업데이트
  • Entity 업데이트
  • dbunit 테스트셋 업데이트

마감기한 (선택)

[기능] Repository 작성

기능

  • 작성된 Entity 각각에 JpaRepository를 작성한다.
  • 작성된 Repository 에 dbunit 을 사용한 CRUD 테스트를 작성한다.

할 일

  • Entity당 최소 한 개의 JpaRepository 작성
  • 작성된 Repository에 CRUD 단위 테스트 작성 (dbunit 사용, 인메모리로 동작)

마감기한 (선택)

[기능] 알림 내역 조회 기능

기능

  • 알림 목록 조회 기능
  • 제목 필드 추가

할 일

  • liquibase 스키마 업데이트
  • entity 업데이트
  • 테스트 업데이트
  • 알림 내역 조회
  • 테스트 코드 작성

마감기한 (선택)

[업무] db unit 세팅

  • db 단위 테스트를 수행할 수 있는 db unit을 셋팅한다.
  • h2 데이터베이스를 활용하여 반복가능한 db 테스트를 구성한다.

[수정] user 테이블에 웹사이트 컬럼 추가

수정 내용

  • 기획상으로, 사용자 프로필에 웹사이트를 선택적으로 입력 가능하기 때문에, 해당 컬럼 추가가 필요하다.

할 일

  • ERD 상으로 웹사이트 컬럼 추가
  • liquibase 스키마 업데이트
  • Entity 업데이트
  • dbunit 테스트셋 업데이트

마감기한 (선택)

[업무] javadoc 주석 추가

요청 사항

  • 지금까지, 이후로도 작성되는 코드에 javadoc 주석을 추가한다.
  • 클래스 단위, 메서드 단위, 필드 단위로 Javadoc 주석 기재할 것

할 일

  • 엔티티 javadoc 추가

마감기한 (선택)

[기능] 클래스 카테고리 목록 조회

기능

  • 클래스 카테고리 목록 조회 API

할 일

  • 카테고리 데이터 DB에 넣기,
  • 클래스 카테고리 목록 조회 API
  • 테스트 코드 작성

마감기한 (선택)

[기능] 수강 클래스 목록 조회

기능

  • 매칭중 클래스 목록 조회
  • 예정된 클래스 목록 조회
  • 완료된 클래스 목록 조회

할 일

  • 매칭중 클래스 목록 조회
  • 예정된 클래스 목록 조회
  • 완료된 클래스 목록 조회
  • 테스트 코드 작성

마감기한 (선택)

[기능] 엔드포인트 미리 작성

기능

  • 프론트엔드와 빠른 협업을 위해서, API 엔드포인트를 미리 작성해둔다.
  • 작성된 엔드포인트는 비즈니스 로직 작성 전이므로, 하드코딩된 데이터를 리턴하도록 한다.
  • 이후 해당 엔드포인트에 비즈니스 로직을 채워 넣는다.

할 일

  • Controller 작성 및 엔드포인트 작성
  • Javadoc 및 Swagger API 문서 작성
  • 테스트 작성

마감기한 (선택)

[기능] RefreshToken 테이블 추가

기능

  • JWT 프로세스 중 RefreshToken을 저장하여 대조하는 프로세스가 있기 때문에, User 테이블과 1대1 연관을 갖는 RefreshToken 테이블을 추가한다.
  • User테이블에 컬럼으로 추가할 수도 있지만 User테이블 컬럼이 이미 많기 때문에 별도 분리

할 일

  • ERD 업데이트
  • liquibase 스키마 업데이트
  • Entity 업데이트
  • 테스트 추가

마감기한 (선택)

[설계] ERD 수정사항 반영

  1. 카카오톡 ID가 어느 테이블에 종속 될 것 인지 기획 논의
  2. 태그 테이블 삭제
  3. 카테고리 parent_id 삭제

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.