5M

Skill : React.js, Next.js, Laravel, Node.js, HTML5, CSS3, MySQL, Telegram API, ServiceWorker, Social Login, Crawling, AWS, S3
Date : 2022년 11월 ~ 2022년 12월
Site : 5M

암호화폐 거래소 상장 공시 정보를 연결해 알리는 서비스

소개페이지메인페이지

소개 및 메인 페이지

로그인페이지

로그인 페이지

등급전환페이지

프리미엄 등급 전환 신청 페이지

알림설정 페이지

알림 설정 페이지

백엔드 담당 (Laravel, Node.js)

  1. 크롤링 데이터 필터링
    • 외부 DB에 저장된 크롤링 된 데이터를 관리자가 설정한 단어가 포함된 데이터만 필터링하여 클라이언트쪽 DB에 저장합니다. 필터링은 Laravel 스케줄러를 사용하여 1분마다 실행되어 외부 DB를 체크하여 일치하는 데이터만 클라이언트 쪽 DB에 저장합니다.
  2. 텔레그램 API 연동
    • 필터링된 데이터가 저장된 테이블에 있는 데이터를 텔레그램 봇을 이용하여 관리자가 생성한 채팅방에만 데이터를 전송하는 기능을 구현했습니다. 전송한 뒤에는 상숫값을 이용하여 status 값을 변경해서 중복 전송이 되지 않도록 예외 처리를 했습니다.
    • ex) 0 = 전송 안됨, 1 = 전송됨)
  3. 웹 푸시 (Service worker)
    • 특정 거래소만 선택하고 푸시 알림 허용을 한 유저에게만 해당 거래소에 대한 정보가 웹 푸시 알림이 전송되도록 기능을 구현했습니다.
    • Node.js를 이용하여 필터링된 데이터를 체크하고 알림을 허용한 유저를 체크합니다. 체크한 뒤에 해당 유저에게만 데이터를 전송하고 중복 전송 방지를 위해 상숫값을 이용하여 status 값을 변경하도록 했습니다.
    • 필터링된 데이터는 위의 크롤링 된 데이터에서 관리자가 상장 정보 유무와 코인 정보, 거래소를 선택하고 전송할 메시지와 상장 후 대비 퍼센트를 작성한 데이터만 유저에게 전송이 됩니다.
  4. 공지사항, 코인 리스트, 크롤링 데이터, 관리자, 유저 검색 기능
    • 유저 측에서 input에 입력한 value 값이 POST 요청이 오면 쿼리문을 사용하여 DB에 저장된 값과 비교하여 일치하는 데이터를 찾습니다. 일치하는 데이터가 있으면 다시 유저 측에게 해당 데이터를 전송합니다.
  5. 회원 탈퇴
    • 탈퇴를 클릭한 유저의 id값을 쿼리문을 사용하여 찾은 후 Laravel의 delete() 함수를 사용하여 DB의 데이터를 삭제합니다.
  6. 프리미엄 신청시 user status 변경
    • 유저 측에서 이미지와 함께 프리미엄 신청을 하면 관리자에서 확인 후 승인하는 형태입니다.
    • 상숫값을 사용하여 user의 status 값을 변경하는 형태로 구현했습니다.
* TOC {:toc}

© 2021. All rights reserved.