{"id":23161299,"url":"https://github.com/slicequeue/k-subway-notion-sync-server","last_synced_at":"2026-04-06T01:35:08.523Z","repository":{"id":234940110,"uuid":"789774402","full_name":"slicequeue/k-subway-notion-sync-server","owner":"slicequeue","description":" 국토교통부_(TAGO)_지하철정보 API 를 활용, NOTION 데이터베이스에 동기화 처리를 하는 nodejs 서버","archived":false,"fork":false,"pushed_at":"2024-05-05T10:53:56.000Z","size":156,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T13:50:18.894Z","etag":null,"topics":["express","nodejs","notion","subway"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slicequeue.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-21T14:23:08.000Z","updated_at":"2025-07-29T10:47:10.000Z","dependencies_parsed_at":"2025-02-10T04:29:20.936Z","dependency_job_id":"1f51772f-100c-4fe4-947f-fbb86c4aec71","html_url":"https://github.com/slicequeue/k-subway-notion-sync-server","commit_stats":null,"previous_names":["slicequeue/seoul-subway-notion-db-sync-server"],"tags_count":4,"template":false,"template_full_name":"slicequeue/nodejs-express-boilerplate","purl":"pkg:github/slicequeue/k-subway-notion-sync-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicequeue%2Fk-subway-notion-sync-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicequeue%2Fk-subway-notion-sync-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicequeue%2Fk-subway-notion-sync-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicequeue%2Fk-subway-notion-sync-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slicequeue","download_url":"https://codeload.github.com/slicequeue/k-subway-notion-sync-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slicequeue%2Fk-subway-notion-sync-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31456662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express","nodejs","notion","subway"],"created_at":"2024-12-17T23:13:51.290Z","updated_at":"2026-04-06T01:35:08.481Z","avatar_url":"https://github.com/slicequeue.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# k-subway-notion-sync-server\n\n한국 지하철 노선 도착 정보 `국토교통부_(TAGO)_지하철정보` API 를 활용하여 NOTION 데이터베이스에 동기화 처리를 하는 서버입니다.\n\n## 개발스택\n- Node.js v18.12.1 \n- Express ~4.18.2\n- @notionhq/client ^2.2.15\n- axios ^1.6.8\n그외 자세한 사항은 package.json 참고\n\n## 디렉토리 구조\n```\n├─bin: 실행 www 파일\n├─logs: 로그 로테이션 파일 저장 경로\n├─public\n│  └─stylesheets\n├─src: 소스 코드\n│  ├─common: 공통\n│  │  ├─middlewares: 공통 미들웨어\n│  │  │  └─ip-grabber: 미사용\n│  │  ├─types: 공통 상수, 코드 타입 모음\n│  │  └─utils: 공통 유틸 객체 함수 모음\n│  │      └─logger\n│  │          └─winston-logger\n│  ├─config: 설정 관련\n│  ├─routes: API 라우트 관련\n│  │  ├─stations: 지하철 정거장 관련 API\n│  │  └─syncs\n│  ├─sync: 연동 작업 처리 \n│  │  └─service: 연동 서비스\n│  │      └─mapper: 지하철 \u003c-\u003e 노션 맵핑\n│  ├─vendors\n│  │  ├─gov: 공공데이터 연동 관련\n│  │  │  └─metro: 지하철 연동\n│  │  │      ├─dtos: 요청 응답 DTO 모음\n│  │  │      └─types: 상수, 코드 타입 모음\n│  │  └─notion: 노션 연동 관련\n│  │      └─dtos: 요청 응답 DTO 모음\n│  └─views: 미사용\n```\n\n\n## 연동 API 항목, 문서\n  - 국토교통부_(TAGO)_지하철정보: https://www.data.go.kr/data/15098554/openapi.do\n  - NOTION API: https://developers.notion.com\n\n## 실행 결과\n![image](https://github.com/slicequeue/k-subway-notion-sync-server/assets/75685750/f1da4a14-e5ce-45cd-ba43-8a93fcea13aa)\n![k-subway-notion-sync-server-ex1-편집본](https://github.com/slicequeue/k-subway-notion-sync-server/assets/75685750/09eba6f9-a322-4bbb-bf26-9c1a76089c22)\n- 한국 지하철 노선 도착 정보 `국토교통부_(TAGO)_지하철정보` API 를 활용하여 NOTION 데이터베이스에 동기화 처리를 통해 대상 데이터베이스에 도착 정보를 반영할 수 있음\n- 대상 노션 데이터베이스에 지하철 도착 정보를 반영 후 원하는 조건으로 필터링 정렬 등을 적용하거나 이를 통한 뷰를 만들어 원하는 페이지에서 활용하면됨\n\n## Installation\n\n```bash\n$ npm install\n```\n\n## Running the app\n\n환경 설정 파일을 build 한 경로 내부에 설정해야함\n`./src/config` 경로에 아래 파일을 생성한다.\n.\u003cNODE_ENV환경변수값\u003e.env \n설정 내용은 다음과 같다.\n\n```dotnetcli\nGOV_API_KEY=\u003c공공데이터정부API연동키\u003e # 공동 데이터 정부 계정에 `국토교통부_(TAGO)_지하철정보` 활용신청을 통해 허가된 계정의 API 연동 키값\nNOTION_API_KEY=\u003c노션API연동키\u003e # 노션 개발자 콘솔에서 해당 계정의 데이터베이스 읽기 쓰기 권한이 부여된 API 연동 키\n```\n\n- 위 설정을 사용은 config 객체를 통해 필요한 코드에서 불러와 활용\n    \n## 실행법\n\n```bash\n$ npm start\n```\n\n## docker - 작업중\n```bash\n# docker build\n$ docker build -t \u003cdocker-image-name:tag\u003e .\n\n# docker run\n$ docker run \u003cdocker-image-name:tag\u003e\n```\n\n## Test - 작업중\n\n```bash\n# unit tests\n$ npm run test\n\n# e2e tests\n$ npm run test:e2e\n\n# test coverage\n$ npm run test:cov\n```\n\n## Stay in touch\n- Author - slicequeue@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslicequeue%2Fk-subway-notion-sync-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslicequeue%2Fk-subway-notion-sync-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslicequeue%2Fk-subway-notion-sync-server/lists"}