프로젝트 내용
- 프로젝트 주제
- 스터디 모집 사이트
- 규모
- 백엔드 3명(담당)
- 프론트엔드 3명
- 기간
- 4주(2023.01.03 ~ 2023.02.03) : 평일 9AM ~ 6PM
- 사용 기술
- 백엔드 : spring-boot(IDE : IntelliJ), postman
- 프론트엔드 : react(IDE : Visual Studio Code)
- 배포 : AWS(EC2 - 서버 배포, S3 - 정적페이지 배포, RDS - 데이터베이스)
- 데이터베이스 : MySQL
- 보안 : JWT 사용, OAuth2
- 통신 : Rest API
프로젝트 결과물
- 테이블 명세서
- 화면 정의서
- 요구사항 정의서
- 코드(GitHub)
- 팀 노션 페이지
- 사용자 피드백
- 구현 내용
- 구글 로그인
- 스터디 카드 보기
- 스터디의 정렬, 태그, 검색 기능
- 스터디 생성
- 스터디 질문 작성
- 스터디 질문의 답글 달기
- 캘린더 기능으로 모이는 날짜 선택하기
- 스터디원들끼리의 채팅
- 스터디 탈퇴, 추방, 삭제
- 마이페이지 접속
- 프로젝트 내용
프로젝트를 마치며 ...
- 아쉬운 점
- 리팩토링이 되지 않은 코드
- 성능을 고려하지 않고 기능 구현에만 우선적으로 한 것
- 새로운 기술을 찾지 않고, 적용하지 못한 점
- security 기능을 제대로 이해하지 못하고 사용한 점
- 권한 인증 부분을 전부 코드로 구현한 점(스프링의 인증/인허를 제대로 사용하지 못함)
- 권한/허가가 너무 빡빡해서 로그인이나 스터디 가입을 하지 않았으면 사용하지 못한 기능이 많음
- 주석이 일관되지 않음
- 코드 컨벤션을 제대로 정하고 시작하지 않아서 코드 스타일이 다름
- 좋았던 점
- 권한에 따라 접근할 수 있는 부분이 다른 점
- 비밀글의 경우, DB에서 필터링해서 response한 점
- 구글의 oauth2를 이용해서 회원가입/로그인 성공
- jwt를 이해하고 사용한 점
- 개선해야 할 점
- 기능별 성능(ex. 속도, 처리 횟수 등)을 파악해서 개선하기
- 27조 발표영상 참고
- https://www.youtube.com/watch?v=1kU8QLFpHqo
- Grafana와 로깅을 이용해서 성능 분석
- 21조
- slice를 활용한 queryDSL을 통해 쿼리 최적화 → 성능 최적화
- 9조
- thread pool
- redis
- 27조 발표영상 참고
- 알림 기능 구현하기
- 24조
- websocket, stomp을 이용한 채팅 기능
- 24조
- 이미 구현되어 있는 기능이 있는지 확인하고, 있다면 최대한 활용해서 사용하기
- 로그인을 하지 않았을 경우에도 스터디 상세 내용 볼 수 있기
- 웹, 네트워크, 스프링에 대해서 깊이 공부하기
- 기능별 성능(ex. 속도, 처리 횟수 등)을 파악해서 개선하기
'코드스테이츠 - 3회차 백엔드 부트캠프 > Main Project' 카테고리의 다른 글
2023.02.01 수 - 쿠키 보안 정책 (0) | 2023.02.01 |
---|---|
2023.01.18 수 - 멘토님과 만남 (0) | 2023.01.18 |
2023.01.17 화 - 인텔리제이 인식 오류, CORS 에러 (0) | 2023.01.17 |
2023.01.06 월 - query string 배열형 (0) | 2023.01.17 |
2023.01.12 목 - 비밀채팅 이미지 (0) | 2023.01.12 |