[프로젝트] petopia2

Geunhyung Pyun·2023년 1월 10일
0

프로젝트

목록 보기
3/5
post-custom-banner

1. 개요

  • 프로젝트명 : petopia-2
  • 기간 : 2021.11 (약 2주)
  • 목표 : 배운 기술들을 활용하여 카페를 구현하는 것.
  • 주제 : 반려동물의 정보 공유와 일상을 나눌 수 있는 카페
  • 사용 스택 : MySQL, MyBatis, Spring, Java, Maven, HTML, CSS, JS, Thymeleaf, Bootstrap, Github, Apache Tomcat, Naver Cloud

2. 구상 및 진행

  • 6인 1팀으로 진행되었던 프로젝트로 petopia 프로젝트를 강화하는데에 초점을 두었다. 즉, 기존의 주제를 엎지 않고 1차 프로젝트를 Spring framework로 전환하는 것이 목적이었다.
  • MySQL의 Procedure, Event Scheduler, Trigger를 사용하여 간편성과 자동화를 추구하고자 하였다.
  • 라이브러리 관리 도구는 팀원들이 Maven에 익숙해있기 때문에 Maven을 택하였고 learning curve와 시간을 고려하여 Persistence Framework는 MyBatis를 선택하였다.
  • Spring Framework로의 전환과 기존 기능 강화가 우선이었기에 신규 기능을 많이 추가하지 않았다.
  • (Controller - Service - Mapper) 혹은 (Controller -Service - DAO) 구조를 사용하였다.

3. 결과 및 사진

  • Spring이 확실히 Java 하드코딩보다 간편하고 간단해진다.
  • 클라우드 환경에 대한 연습을 위해서 DB만을 Naver Cloud로 하여 작동시켰다.

properties 파일
Mybatis mapper 회원 관련 부분
회원 관련 Controller 파일

4. 피드백

  • 등급의 추가 및 삭제에 따른 인가 부여를 위해 Security를 위한 Table이 필요할 것이다. Spring Security를 적용할 필요가 있다.
  • MyBatis를 사용하였으나 최근 동향은 JPA를 사용하고 있는 추세이다 보니 MyBatis에서 Spring Data JPA로의 전환을 경험할 필요가 있어보인다. 다음 프로젝트에서는 JPA를 사용해보도록 하자.
  • Trigger가 많아져 유지보수의 어려움을 느꼈다. 상호의존성도 늘어 오류도 많이 났다. 문서화해서 관리를 하는 방법도 있었지만 Event Scheduler로 구현이 가능한 기능들이 있었기에 방향을 틀었다.

5. 참고

코드 및 자료 : https://github.com/jhk1231/petopia2

profile
개발자를 원하는 사람.
post-custom-banner

0개의 댓글