Repository navigation
Home
Chorom Ham edited this page Apr 29, 2021
·
3 revisions
- 멘토링이 업로드되었을 시 실시간으로 멘토링 정보와 신청 버튼이 포함된 메시지를 발송
- 각 멘토링 알림에서 신청 버튼을 눌렀을 시 멘토링이 신청되고 그 결과를 메시지로 발송
- 신청결과 메시지에서는 신청 취소버튼이 포함되어 신청 취소도 가능
- 각 홈페이지 계정정보를 웰컴 메시지의 모달로 전달, user_id에 맵핑하여 db에 저장
- 각 멘토링의 수강자 정보를 스크래핑하여 수강자들에게 멘토링 한줄평 등록 메시지를 발송
- 한줄평 등록 메시지의 모달을 통해 db에 업로드
- 웰컴메시지의 한줄평 보기 버튼과 모달을 통해 멘토명을 제출하면 멘토에 대한 한줄평 메시지 전송
- 웰컴 메시지
- 멘토링 알림 메시지
- 멘토링 한줄평 요구 메시지
- 계정 정보
- 멘토링 한줄평 입력
- 멘토링 한줄평 검색
- 키워드 정보 제출 후 db저장 완료 메시지
- 계정 정보 제출 후 db 저장 완료 메시지
- 멘토링 한줄평 입력 제출 후 db 저장 완료 메시지
- 멘토링 한줄평 검색 제출 후 멘토링 한줄평 정보 메시지
- 이벤트 트리거 rate(10min)
- 10분에 한번씩 게시물 데이터를 읽고 새로운 데이터가 있다면 구름 알림 api 호출
- response
- 리턴 데이터 형식 (notification.js mentoring 함수 참고)
- req.body:
[{data}...]data=
{
"dataType": "mentoring",
"id": 590,
"subject": "[자유멘토링]5/7(금)_18:00부터-오선식팀 멘토링",
"location": "온라인",
"link": "https://swmaestro.org/sw/mypage/mentoLec/view.do?qustnrSn=590&menuNo=200046",
"status": "[접수중]",
"period": "2021-04-25 ~ 2021-05-06",
"date": "2021-05-07",
"applicants": "1",
"mento": "최원서",
"description": "[자유멘토링]5/7(금)_18:00부터-오선식팀 멘토링"
}-
api gateway
-
method : post
-
url: https://e79d0h6thd.execute-api.us-east-2.amazonaws.com/default/swm-applicant
-
header
- Content-Type: application/json
- x-api-key: api key
-
body
- link : 신청할 멘토링 게시글 링크
- userId : 카카오워크 아이디
- type : 신청 및 취소 유형
- req 예시
{ "link":"https://swmaestro.org/sw/mypage/mentoLec/view.do?qustnrSn=585&menuNo=200046", "userId":"1234444", "type" :"applicant" }
{ "link":"https://swmaestro.org/sw/mypage/mentoLec/view.do?qustnrSn=585&menuNo=200046", "userId":"1234444", "type" :"cancle" }
- res 예시
{ "statusCode": 200, "body": "{'message':'신청하였습니다.','number':'2'}" //넘버는 신청 순위 }
{ "statusCode": 400, "body": "wrong type" //type 틀렸을때 } { "statusCode": 400, "body": "계정정보가 존재하지 않습니다" //db에 계정정보 없을 때 } { "statusCode": 500, "body": "{'message':'신청을 실패했습니다','number':-1'}" //홈페이지에 버튼없어서 실패 }
-
-
구름 서버에서 신청 버튼 누를 시 유저 아이디와 게시물 링크를 포함한 post 요청을 해당 api로 보냄
-
구름 서버에서 취소 버튼 누를 시 유저 아이디와 게시물 링크를 포함한 post 요청을 해당 api로 보냄
- 이벤트 트리거 cron()하루에 한번씩
- 그 전날 시행된 멘토링과 해당 수강자들의 정보를 담아 구름 알림 api 호출
- 구름api post 호출 시 body 데이터
"body": {
"yesterdayMentoring": [
{
"data": {
"subject": "[멘토특강] 5월 14일(금) 17시 (온라인) 시험에 잘 나오는 프로젝트관리 (PM)",
"date": "2021-05-14",
"dataType": "mentoring",
"location": "온라인-Webex",
"mento": "박정규",
"status": "[접수중]",
"applicants": "4",
"period": "2021-04-24 ~ 2021-05-04",
"link": "https://swmaestro.org/sw/mypage/mentoLec/view.do?qustnrSn=581&menuNo=200046",
"description": "제목 : 시험에 잘 나오는 프로젝트관리 (PM)\n\n프로젝트관리란 무엇이고? 대규모, 장기 프로젝트에선 왜? 프로젝트관리가 중요한것인지?\n실무 PM 경험 바탕으로 10대 영역에 대해서 설명해 드리겠습니다.\n또한, 탑싯과 정보처리기사 등에도 항상 빈번히 출제되는 도메인이기도 합니다. \n\n날짜 : 2021년 5월 14일(금)\n시간 : 17:00 ~ 21:00\n장소 : 온라인 - 웹엑스\n제약조건 : 특강이며 실습 과정이 포함되어 최대 7명(선착순) 마감하겠습니다.\n\n특강 내용:\n1. 프로젝트 관리란?\n2. 프로젝트 관리 10대 영역 (통합,범위,일정,비용,리스크,품질,의사소통,조달,인적자원관리 등)\n3. 소마 프로젝트에서도 가장 중요한 \"일정관리\"\n4. 탑싯에도 잘 나오는 프로젝트 관리 영역\n5. 계산 문제 풀이\n6. 실무에 적용하는 노하우\n7. PMI 에서 말하는 PMP 자격증\n\n제약조건: 실습도 포함되어 선착순 7명으로 마감하겠습니다.\n\n신청 댓글에 text 입력이 불가합니다.\n박정규 멘토 : 010 8001 3933 (신청 시, 핸드폰으로 문자 부탁드립니다.)\nex) 자유멘토링 신청 5/14 - 신청자:홍길동 멘티\n\n혹시라도 다른날짜? 다른시간 추가 강의? 문의도 환영합니다.",
"id": 581
},
"names": [
"이종아",
"김혜수",
"이현민",
"정용훈",
"양성훈"
]
}
...
]
}-
api gateway
-
method : post
-
url: https://e79d0h6thd.execute-api.us-east-2.amazonaws.com/default/swm-id-check
-
header
- x-api-key: api key
-
body
- req 예시
{ "userId":"ab", // 카카오워크 유저아이디 "id":"ehdwlsdudwo1@gmail.com",//소마아이디 "password":""//소마패스워드 }
-
res 예시
//아이디 검증 성공 및 디비 저장 { "statusCode": 200, "body": "아이디 정보가 유효합니다" } //아이디 검증 실패 { "statusCode": 400, "body": "계정정보가 유효하지 않습니다" }
-