본문 바로가기

Projects

(7)
[Spring] Elastic Search 검색 엔진 도입 여정 (1) 프로젝트의 기존 RDB 테이블을 Elastic Search로 전환하고, 검색 엔진을 구현하는 과정을 다룬 포스팅입니다.   Intellij에서 공공 데이터셋(csv) 동기화 및 활용하기주문 관리 플랫폼(배달 앱) 개발 프로젝트를 진행하던 중,위치 데이터를 저장하는 Location 테이블을 만들어야 하는 요구사항이 생겼다. Location 테이블은 서울특별시의 여러 위치 정보를 담zapzook.tistory.com 지난번 포스팅에서 위치 데이터를 저장하는 Location 테이블을 구성하였다.공공 데이터셋(csv)을 가져와, RDB 테이블(Location)에 해당 csv를 import하여 활용하는 과정을 거쳤었다. 그런데 이후에 생각을 해보니 이러한 Read Only 데이터(검색을 위한 데이터)를 RDB에 ..
[칸반 보드 프로젝트] 프로젝트 개요 ✅ 칸반 보드 프로젝트 주제 프로젝트 명 : SCV (Sparta Coding Virtual workspace) 소개 한 줄 정리 : 프로젝트 협업 관리 도구 여러 사용자들이 프로젝트를 관리하고, 팀원들과 협력하여 작업을 효율적으로 할당하고 처리하는데 도움을 주는 협업 플랫폼. Trello를 벤치마킹 하였다. ✅ 구현 스펙 사용자 관리 기능 로그인 / 회원가입 사용자 정보 수정 및 삭제 보드 관리 기능 보드 CRUD 보드 초대 특정 사용자들을 해당 보드에 초대시켜 협업 컬럼 관리 기능 컬럼 CRUD 컬럼 순서 이동 카드 관리 기능 카드 CRUD 카드에 댓글 달기 AOP 적용 AOP를 활용한 기능 모듈화 보드 멤버 검증 기능 분산락 기능 쿼리 최적화 불필요한 조인, 서브쿼리 최소화 N+1 문제 예방 동시성..
[아웃소싱 프로젝트] 프로젝트 개요 ✅ 아웃소싱 프로젝트 주제 프로젝트 명 : 먹부림 소개 한 줄 정리 : 배달주문 플랫폼 내용 : 배달의 민족을 벤치마킹, 가게와 가게에 포함된 메뉴를 만들 수 있고, 해당 가게의 메뉴를 장바구니에 담아 주문하며 리뷰를 남길 수 있는 배달 주문 플랫폼 ✅ 필수 구현 기능 로그인 및 회원가입 기능 유저 프로필 조회, 수정 기능 매장 CRUD 기능 매장 등록, 수정, 삭제, 카테고리별 매장 조회 기능 메뉴 CRUD 기능 매장 메뉴 등록, 수정, 삭제, 조회 기능 장바구니 CRUD 기능 매장 메뉴를 장바구니에 추가, 수정, 삭제, 개인 장바구니 조회 기능 리뷰 CRUD 기능 매장 메뉴에 리뷰 작성, 수정, 삭제, 리뷰 전체 조회 기능 ✅ 추가 구현 기능 백오피스 기능 구현 ⭐ 매장 관리자 매장, 메뉴 CRUD ..
[뉴스피드 프로젝트] 프로젝트 개요 뉴스피드란? 내 게시물을 포함한 모든 게시물을 볼 수 있는 공간 ✅ 뉴스피드 프로젝트 주제 프로젝트 명 : 양파 마켓 소개 한 줄 정리 : 중고 거래 플랫폼 내용 : 당근 마켓을 벤치마킹한 양파 마켓. 판매하고 싶은 중고 상품을 업로드하고, 구매하고 싶은 중고 상품을 검색해 거래할 수 있는 중고 거래 플랫폼 ✅ 필수 구현 기능 로그인 및 회원가입 기능 유저 프로필 조회 및 수정 기능 상품(게시물) CRUD 기능 댓글 CRUD 기능 관심 상품 등록 및 조회 기능 ✅ 추가 구현 기능 - Develope 소셜 로그인(네이버, 카카오 등) 기능 상품 등록 시 이미지 업로드 기능 가격 제안 기능 ✅ API 명세서 ✅ ERD ✅ 와이어 프레임
[Spring 개인 프로젝트] TodoApp 백엔드 서버 API (2) 할 일 카드 CRU API 구현 ✅ 할 일 카드 작성(Create) 기능 API 토큰을 검사하여, 유효한 토큰일 경우에만 할일 작성 가능 할일 제목,할일 내용, 작성일을 저장할 수 있습니다. (작성자명, 비밀번호) 할일 제목, 할일 내용을 저장하고 저장된 할일을 Client 로 반환하기(username은 로그인 된 사용자) 📌 엔티티 설계 💡 Timestamped @Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public abstract class Timestamped { @CreatedDate @Column(updatable = false) @Temporal(TemporalType.DATE) private Date cr..
[Spring 개인 프로젝트] TodoApp 백엔드 서버 API (1) Spring Security와 JWT 필터를 사용한 회원 가입 및 로그인 API 설계 ✅ 회원 가입 API username, password를 Client에서 전달받기 username은 최소 4자 이상, 10자 이하이며 알파벳 소문자(a~z), 숫자(0~9)로 구성되어야 한다. password는 최소 8자 이상, 15자 이하이며 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 구성되어야 한다. DB에 중복된 username이 없다면 회원을 저장하고 Client 로 성공했다는 메시지, 상태코드 반환하기 📌 엔티티 설계 💡 User @Entity @Getter @Setter @NoArgsConstructor @Table(name = "users") public class User { @Id @Genera..
[Spring 개인 프로젝트] TodoApp 백엔드 서버 API (0) 🏁 회원가입, 로그인 기능(+JWT 필터 인증 및 인가 처리)이 있는 투두앱 백엔드 서버 API" 💡필수 기능 구현 사항 회원 가입 API username, password를 Client에서 전달받기 username은 최소 4자 이상, 10자 이하이며 알파벳 소문자(a~z), 숫자(0~9)로 구성되어야 한다. password는 최소 8자 이상, 15자 이하이며 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 구성되어야 한다. DB에 중복된 username이 없다면 회원을 저장하고 Client 로 성공했다는 메시지, 상태코드 반환하기 로그인 API username, password를 Client에서 전달받기 DB에서 username을 사용하여 저장된 회원의 유무를 확인하고 있다면 password 비교하..