| 문제점 | 리팩토링 방향 | |
|---|---|---|
| maven 빌드 환경 | gradle로 변경 → 더 편하게 스크립트 작성 가능, 빠른 실행(자체 캐싱) | ✅ |
| Mybatis를 사용했었음 → 객체지향적인 코드 작성과 확장에 단점이 있음, 데이터베이스 종류에 의존적임(sql문을 작성해야해서) | Mybatis 대신 JPA로 리팩토링 | |
| 제한된 기간의 매매 데이터만 DB에 저장하여 제공하고 있음. 최신 데이터를 제공할 수 없을까? | 공공데이터포탈에 일정 시간/기간마다 요청하여 새로 추가된 데이터가 있다면 데이터베이스에 저장 | |
| JWT 로그인을 구현하였으나 액세스 토큰만 사용하고 있어 보안에 좋지 않음 | 리프레시 토큰 추가하여 JWT 로직 바꾸기 | |
| 너무 많은 매매 데이터를 불러오다보니 많은 시간 소요 | 1. 데이터베이스에 인덱스를 사용해야할듯 |
→ 이 과정에서 성능 테스트를 하여 객관적인 지표를 만들것 | | | 소셜 로그인 회원 관리 안하고 있음 | 소셜 회원도 데이터베이스에 저장하여 관리해야함 | ✅ | | 권한을 아이디 이름으로 분리하고 있음. | ROLE 컬럼을 만들어 일반 유저와 관리자를 분리해야할듯. (+ 이왕이면 관리자 탭을 만들면 좋을 것 같긴함) | ✅ | | api 권한 제어를 하지 않고 있음 | 스프링 시큐리티(필터)를 이용하여 api별로 권한 제어 하기 | | | 연도별/월별 매매 데이터를 따로 볼 수 있는 방법이 없음 | 선택창이나 스크롤바로 기간을 선택할 수 있으면 좋을듯 | | | 관심 아파트 관리를 할 수 있었나? 더 편하게 관심 아파트를 관리할 수 있어야할듯 | 목록 자체에서 관심 아파트를 하나씩 or 전체 삭제할 수 있도록 하면 좋을듯 | | | 소셜 로그인 카카오만 있음 | 구글 or 네이버 같은 다른 소셜 로그인도 추가해보자. 이에 따른 소셜 회원은 어떤 소셜 로그인인지 종류를 구분할 컬럼도 추가해야할듯 | | | 성능 테스트 필요 | 성능이 어느 수준인지 문제점을 파악하고 개선하기