- 개발 환경
- 사용 기술
- 백엔드
- 프론트엔드
- 기타 라이브러리
- 핵심 키워드
- E-R 다이어그램
- 프로젝트 목적
- 핵심 기능
- 프로젝트를 통해 느낀점
- IntelliJ
- GitHub
- Mysql WorkBench
- AWS RDS
- Visual Studio Code
- 백엔드
- 주요 프레임워크 / 라이브러리
- JAVA 11 Openjdk
- SpringBoot 2.7.16
- SpringBoot Security
- SpringBoot JWT
- Mybatis
- Build tool
- Gradle
- Database
- Mysql
- AWS RDS
- Infra
- AWS S3
- 주요 프레임워크 / 라이브러리
- 프론트엔드
- React
- Html/Css
- Bootstrap3
- 기타 라이브러리
- Lombok
- Gmail Smtp
- React와 SpringBoot를 통해 기획에서부터 배포(예정)까지 모든 과정 개발과 운영 경험을 쌓았습니다.
- AWS를 통한 배포까지 계획 중입니다.
- MVC2 모델을 기반으로 백엔드 서버를 구축했습니다.
-
IT자산 관리 프로젝트를 기획한 이유?
학원에서 자유롭게 다양한 주제의 프로젝트를 진행해 보았으나, 아직 제가 가지고 있는 역량으로는 많은 것들을 완벽하기 구현하기는 어려울 수 있구나라는 생각에 우선 저를 정상 시킬 수 있는 프로젝트를 해보고 싶었고, 모든 일은 기본기가 탄탄해야 무너지지 않는다는 생각이 들어 게시판을 많이 만들어 볼 수 있는 자산 관리 프로젝트를 선정하게 되었습니다.
-
Securyti와 JWT로 구현한 로그인 기능
서버에서 토큰을 발급받아 클라이언트에게 전달해 localStorage에 저장하여 모든 요청에 Header에 토큰을 전달하여 서버에서 토큰이 위조되었는지, 시간이 만료되었는지를 확인한 뒤 데이터를 전달하게 됩니다. 페이지의 권한까지 서버에서 관리하려 했으나, 한 개의 포트가 아닌 React의 포트와 SpringBoot의 포트가 동시에 작동되어 페이지 권한은 프론트에서 직접 설정해 주었습니다.
소셜 로그인까지 구현하려고 했으나 회사에서 운영하는 프로그램에서는 카카오, 네이버, 구글을 통한 로그인이 있으면 안된다고 생각해 API를 통한 소셜 로그인 기능은 추가하지 않았습니다.
-
비밀번호 찾기 Email 발송 기능
AWS SES를 적용할 수 있었으나 SandBox가 적용이 되어있을 경우 발신자, 수신자의 Email 인증이 이루어진 상태일 경우에만 발송을 할 수 있어 SES와 같이 Email을 발송할 수 있는 라이브러리를 찾던 중 Gmail SMTP를 접하게 되어 해당 프로젝트에 적용하게 되었습니다.
-
AMAZON S3를 통한 이미지 업로드 기능
데이터 베이스에 정보를 넣어 로컬 환경에 이미지를 저장하는 것이 아닌 AMAZON S3를 통해 버킷에서 이미지를 저장하고 불러올 수 있도록 구현되어 있습니다.
-
계층형 카테고리
자산을 등록할 때 데이터베이스에 추가되어 있는 카테고리를 선택해 등록될 수 있도록 구현해 놓았습니다.
팀원들과 함께 많은 설계와 코드에 대해 많은 고민을 하였습니다. 생각지 못한 오류가 발생하기도 하고 조금은 뒤처지는 팀원이 발생해 이끌어가기도 하고 있지만 6개월이라는 짧은 시간 동안 열심히 배워 처음 접해보는 개발이라는 일에 성과가 나타나는 부분에 너무 뿌듯하고 제 자신에게 자랑스러움을 느꼈습니다. 많은 기능들을 구현하고 싶었으나 아직 부족한 것이 너무 많은 것에 조금은 자괴감도 들었지만 이를 계기로 더 많은 것을 배워 내가 생각만 했던 것들을 현실로 이루고 싶어졌습니다. 이번 프로젝트를 통해 많은 것을 배웠고, 크고 작은 오류들을 해결하면서 이 오류들이 저에게 큰 자산이 되었고 저를 더 성장하게 만들어줬습니다.