Sohae
About
Stack
Projects
Knock!綠!
Knock Environment, Knock your life.
To make our planet greener.
환경보호 주제의 펀딩 사이트로,
저는
캠페인 기능
을 담당했습니다.
Spring+MyBatis+SQL developer
를 사용해 개발하였고
다양한
라이브러리와 API
를 공부하며 진행했습니다.
상세보기
github
개발환경
프로젝트 개요
01
환경문제 인식 개선을 위한
캠페인 제안
02
지속가능한 소비를 위한
쇼핑몰 운영
주요 기능
회원가입
로그인
회원가입/로그인
마이페이지
문의하기
What I've done!
캠페인
캠페인참여
펀딩참여
캠페인제안
커뮤니티(게시판)
쇼핑몰
상품관리
주문
결제
판매내역
관리자
회원 관리
캠페인 관리
문의
답변
화면구현
캠페인기능 상세보기
#1 캠페인 제안
녹녹의 캠페인은
사용자의 제안으로부터 시작됩니다.
1. input form을 통해 캠페인 제안에 필요한 정보들(캠페인 제목, 실천법, 목표 포인트)을 사용자가 직접 입력할 수 있습니다.
2. Summernote 에디터 활용 - 텍스트와 이미지를 자유롭게 편집할 수 있도록 하였습니다.
3. 에디터로 쓰여지는 내용과 별개로, 대표 이미지는 스프링에서 제공하는 파일 업로드 라이브러리를 사용하였습니다.
#2 캠페인 펀딩
승인된 캠페인은
펀딩 페이지에 등록됩니다.
1. 펀딩하기 버튼을 누르면 modal창을 통해 펀딩진행 여부를 묻습니다.
2. 펀딩할 시, ajax를 통해 사용자의 펀딩참여를 전송하고, 업데이트된 펀딩 데이터를 전달받아 화면에 보여줍니다.
3. 사용자의 펀딩참여 여부를 함께 불러와 같은 화면에서 바로 취소처리를 할 수 있습니다.
#3 캠페인 리스트
펀딩에 성공하면
캠페인 페이지에 등록됩니다.
1. carousel 배너를 통해 홈페이지 사용법을 알리고 참여를 유도합니다.
2. 진행중인 캠페인의 제목을 검색할 수 있으며 조회기준을 설정하여 사용자가 쉽게 접근할 수 있도록 하였습니다.
3. 캠페인 관련 정보와 함께, select문을 통해 주최자 정보와 참가자 수를 함께 조회합니다.
#4 캠페인 상세보기
1. 대표이미지를 비롯해, summernote 에디터로 작성한 내용이 그대로 좌측에 표시됩니다.
2. 우측에는 캠페인 정보와 함께 (카카오)공유하기, 참여하기 버튼이 표시됩니다. javascript로 구현하였습니다. TRY:
3. 키워드가 공통되는 캠페인을 추출하여, 비슷한 캠페인을 추천해줍니다.
#5 캠페인 커뮤니티
1. 내부 메뉴바 '커뮤니티'나 우측 '참여하기' 버튼을 누를 시 비동기처리로 커뮤니티로 이동합니다
2. 조회한 캠페인의 인덱스를 파라미터로 받아, 해당 캠페인의 커뮤니티를 불러오고 게시글들과 댓글을 확인할 수 있습니다.
3. ajax를 통해 댓글을 입력, 수정, 삭제할 수 있으며 유저 프로필사진과 댓글시간 조회가 가능합니다.
#6 포인트 분배
1. 관리자단의 자바스케쥴러를 통해, 캠페인 종료일이 되면 자동으로 캠페인이 종료처리됩니다.
2. 이 때, 캠페인 참여횟수가 가장 많은 순서대로 랭킹을 산정합니다. 미리 정한 수식에 따라 포인트가 각각 분배됩니다.
3. 펀딩의 경우, 펀딩에 실패한 경우 펀딩 참가자들에게 포인트가 반환됩니다.
캠페인/펀딩 DB 설계
개발일지
매뉴얼/이름규칙/논의사항/DB설계
개인 진행상황/회의록
을
노션을 통해 기록하고 공유하며 개발을 진행하였습니다.
Knock!綠 노션 바로가기
-
약 3주의 개발기간 이후
미흡했던 부분을 보완하는 동시에
프로젝트에 사용된 라이브러리와 API를 블로그에 정리하고 있습니다.
[github] knock!綠! repository
[blog] 자바로 이메일 보내기
[blog] 자바 스케쥴러
[blog] 결제 API 사용하기
상단으로