Real Easy 흐름도

그냥차차·2024년 6월 27일
0

프로젝트

목록 보기
4/4

0. Real Easy

1. 프로젝트 소개

  • 단독으로 진행한 프로젝트라 서버, DB에 대한 이해나 사용방법이 미숙함을 이해 해주세요...
  • 직방, 다방, 네이버부동산의 기능을 하나로 통합하여 제공하여 공인중개사의 업무 효율을 극대화하는 플랫폼
  • 예를 들어, 기존에는 하나의 매물을 3개의 플랫폼(직방, 다방, 네이버부동산)에 각각 등록해야 했지만, 리얼이지에 매물을 등록하면 한 번의 작업으로 3개의 플랫폼에 동시에 매물이 등록됩니다.
  • 그외 조회, 삭제, 수정도 가능합니다.

2. 기술스택

  • Front : Next.js, Context-API, Meteral-Ui, Reat-Dnd, Electron, Formik
  • Back : FireBase, Express, Puppeteer

2. 프론트

  • Next.js, ConText-API, Meteral-Ui등 을 사용해서 리얼이지 페이지를 만들었습니다
  • Velsel을 사용해서 배포하였습니다.

3. Electron & 서버

  • AWS-Light-Sale을 사용하여 서버를 사용해봤는데 비용과 시간적이슈 등 문제가 있었습니다.
  • 그래서 Electron을 사용하여 Express로 유저의 로컬에서 4000번 포트를 열어서 서버관련 문제를 임시로 해결했습니다.(MVP버전이라 시장성 검증이 우선이었습니다.)
  • Electron 앱을 실행하면 만들어준 리얼이지의 페이지를 Electron 앱에서 보여주었습니다.
  • 이렇게 배포된 Electron 앱을 유저에게 다운받게하고, 자동업데이트를 통해서 버전을 관리하였습니다.

4. 크롤링

  • 매물조회로 예를 들면 ) 유저가 Electron 앱을 통해서 매물조회를 클릭하면 서버에 Requset Query로 "readPost"와 "유저의 고유아이디"를 보내주고
  • DB에 있는 "유저의 고유아이디"와 서버에서받은 "유저의 고유아이디"를 비교하여 유저의 데이터를 통해 Puppeteer을 사용하여 DOM을 직접 조작하며 유저가 활성화한 플랫폼에 로그인하고, 매물에 대한 크롤링을 시작했습니다.
  • 크롤링이 끝나면 데이터 표준화한 리얼이지만의 데이터 값으로 저장해주고 DB에 보내주었습니다.

5. DB

  • DB는 FireBase를 사용하였고 사용이유는 무료였고, 단독으로 하는 프로젝트보니 사용해본 서비스중에 쉽게 사용할수 있는걸 택했습니다.
  • 그외에도 로그인 세션유지, 매물등록시 FireStore를 사용하여 이미지의 URL을 임시로 만들어 서버로 전송해주기 등 FireBase를 선택해야만 하는 이유가 있었습니다.
profile
개발작

0개의 댓글