티스토리 뷰

개인 프로젝트

[개인 프로젝트] MBTI TOUR

오두기밥 2023. 2. 27. 23:22

INTRO (친구의 친구랑 놀러 가기!)

친구의 친구와 놀러 다니던 모임이 5명에서 18명이 되어 어느새 커졌다.
카톡으로 참여 신청을 받고, 사진을 관리하고, 일정을 공유하고, 올리는 문서가 많아지면서 관리가 점점 힘들어졌고, 나는 자바 스프링을 다시 공부하면서, 이걸 웹으로 구현해 보자라는 생각을 하게 되어 시작하게 되었다. 


구현할 기능들

 

1) 일정 등록 및 관련 문서 등록(관리자)

2) 일정 확인(사용자)
3) 참여신청(사용자)
4) 로그인 및 회원가입(사용자)
5) 회원가입 승인(관리자)
6) 게시글 작성, 수정, 삭제(사용자)
7) 댓글 작성(사용자, 관리자)

 

기술 스택(사용 이유)

1) FE 

  • ThymeLeaf Template engine
    - 기존에 사용 경험, 러닝 커브를 줄이기 위해 사용

  • jQuery
    - 대부분의 편의 기능(Ajax, 애니매이션 등)이  있어, 코드 가독성 향상과 유지보수를 위해 사용

  • BootStrap 5
    - 디자인적인 소요 시간 감소를 위해 사용

  • HTML5, CSS3

2) BE

 

  • 프레임워크: Spring
    - 자바를 기반으로 객체 지향적 특성 SOLID가 충족되어 있으며, 다수의 편의 기능과 참고 문서가 많음. 
    - Spring을 다시 리마인드 하며, 조금 더 부족했던 개념을 이해하기 위해 선택.

  • JPA: Spring Data JPA (추후 조회 부분은 QueryDsl로 리팩토링)
    - 김영한의 JPA 기본편과 실전 1에서 배웠던 기초를 토대로 적용
     (다대일 기반 설계, 불가피하게 조회가 필요한 부분에서 양방향)
    - 생성, 수정에는 JpaRepository를 사용, 조회에서 @Query로 JPQL을 사용해 쿼리 개선 및 학습
  • Spring Security + JWT
    - Spring Security 를 적용 인증과 인가 기능을 사용
    - 서버 기반으로 Ram에  부하가 생길 수 있는 세션 기반 인증이 아닌, Stateless인 토큰 기반 인증(JWT) 적용이 적합하다고 생각하여 적용
  • Redis
    - refresh token 데이터 저장
    - 인 메모리 캐시 서버로 사용하기 위해 사용 
  • DevOps
    - Docker, Git Action, EC2

 

[추가]

2월 초 부터 작업 중이지만 이제야 포스팅을 하게 되었다. 앞으로 어떻게 만들었는지 어떻게 리팩토링을 진행할지, 공부하고 생각한 것을 포스팅해야겠다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함