finecode 플랫폼
회사 사이트, 웹게임, 앱 백엔드가 한 서버와 한 DB 위에서 도는 파인코드의 운영 플랫폼.

화면



주요 기능
회사 사이트
서비스와 앱, 웹게임을 소개하는 한·영 이중 언어 사이트입니다.
웹게임 허브
설치 없이 브라우저에서 바로 하는 작은 게임들을 모아 두고, 순위와 대기방을 제공합니다.
앱 공유 백엔드
로그인, 알림, 데이터 같은 앱의 서버 기능을 한 백엔드로 함께 씁니다.
소셜 로그인
구글·애플·카카오·네이버 계정으로 웹과 앱 모두 간편하게 로그인합니다.
기술 스택
- Next.js
- React
- Node.js
- MySQL
- PM2
- Jenkins
- nginx
들어 있는 기능
안정성 · 운영
헬스 체크서버와 DB 가 정상인지 바깥에서 늘 확인할 수 있는 헬스 체크가 들어 있습니다.
정기 DB 백업데이터는 일 단위·월 단위로 나눠 정기적으로 백업해, 잘못된 변경이 생겨도 이전 시점으로 되돌릴 수 있습니다.
출처별 로그로그를 기능 단위로 나눠 같은 형식으로 남겨, 문제가 생기면 어디서 났는지 바로 찾습니다.
상태가 갈라지지 않는 구동대기방 상태를 메모리에 두기 때문에 서버를 단일 프로세스로 고정해, 상태가 둘로 갈라지는 일을 막습니다.
보안 · 계정
소셜 로그인구글·애플·카카오·네이버 계정으로 로그인하며, 위조 요청을 걸러내는 검증을 거칩니다.
게임 시스템
실시간 대기방별도 인프라 없이 방 만들기·입장·방장 교체·빈 방 정리까지 서버가 알아서 처리합니다.
캐시된 인기순 정렬인기순 집계를 서버 캐시로 감싸 주기적으로만 다시 계산해, 방문이 몰려도 DB 부담이 늘지 않습니다.
검색 · 노출
구조화 데이터회사와 사이트 정보를 검색엔진이 읽는 구조화 데이터(JSON-LD)로 심어 검색 결과에서 정확히 소개됩니다.
갱신일을 가른 사이트맵본문이 바뀐 페이지에만 새 갱신일을 달아, 검색엔진이 실제로 달라진 곳만 다시 찾아가게 합니다.
검색엔진 소유확인여러 검색엔진의 소유확인을 한곳에서 관리해, 등록과 교체가 간단합니다.
한·영 브랜드 병기페이지마다 제목·설명·키워드를 한 함수로 만들어, 한글·영문 브랜드명 어느 쪽으로 검색해도 같은 모습으로 나옵니다.
사용성
한국어 · 영어저장된 언어 설정과 브라우저 언어로 화면 언어를 정해, 해외 방문자도 불편 없이 씁니다.
배포 · 품질
자동 배포코드를 올리면 가져오기·설치·빌드부터 PM2 재시작까지 자동으로 배포됩니다.
한곳에서 관리하는 게임 목록게임·실험 페이지 목록을 한 군데에 정의하고 나머지는 거기서 파생해, 추가할 때 빠뜨리는 곳이 없습니다.
구성도
- 브라우저회사 사이트 · 웹게임
- nginx
- Next.js 서버PM2
- 모바일 앱qrapp 등
- Next.js 서버앱 전용 API
- 공유 DBMySQL
- 코드 push
- Jenkins빌드
- PM2 재시작자동 재시작
사이트와 앱은 한 서버·한 DB 를 쓰고, 프로젝트마다 API 와 테이블을 나눠 서로 섞이지 않게 합니다.
운영 · 배포
- 코드를 push 하면 Jenkins 가 가져오기·설치·빌드를 거쳐 PM2 로 재시작합니다.
- 대기방 상태가 서버 메모리에 있어 서버는 단일 프로세스로 고정해 운영합니다.
- 서버는 헬스 체크로 상태를 확인하고, DB 는 일·월 단위로 정기 백업합니다.