/arca-con-mirror

아카콘 미러 사이트입니다. 인터랙티브한 검색 및 ZIP 다운로드를 지원합니다.

Primary LanguageTypeScript

아카콘 미러

image

목적

  • 아카라이브의 아카콘( Link ) 을 미러링하고, 검색 및 Zip 다운로드를 지원합니다.
  • 파일 하나하나 다운받다가 화나서 만들었습니다.

아키텍쳐

image

  • 서버를 직접 관리하기 싫으므로, 클라우드와 Github 기능을 섞어 서버 없이 만들었습니다. S3/Cloudfront 돈만 내면 서버 관리 없이 돌아갑니다 (?)
  • 크게 다음 기능으로 구현됩니다.
    • 크롤러(Main 브랜치) : Github schedule Actions로 자동으로 실행됩니다. 아카콘 긁어서 S3에 업로드하고, db.json 을 업데이트합니다.
    • frontend : Next.js 코드를 넣습니다. Push시 Github Actions를 통해 자동 build/export 이후 gh-pages 페이지로 푸시됩니다.
    • gh-pages : Github Pages로 Staic Site를 서빙합니다.
    • S3/Cloudfront : 크롤링한 아카콘을 저장하고, CDN으로 서빙합니다.
  • ZIP 다운로드 기능은, 브라우저 상에서 JSZip 으로 구현됩니다.

Special Thanks

  • shiroko-kfcc 프로젝트를 보고 감명받아 비슷한 아키텍쳐로 만들어 봤습니다. 좋은 아이디어 주신 if1live님 감사합니다!