read365 개인 계정 로그인과 세션 기반 조회, 그리고 Book-on-DLS-v1 프록시 기반 DLS 조회/실행 API를 제공하는 백엔드입니다.
npm install
cp .env.example .env
npm run db:migrate
npm run dev배포 시에도 npm start가 시작 전에 npm run db:migrate를 실행하므로 운영 DB의 미적용 마이그레이션을 자동 적용합니다. 현재 알림 이력 기능에 필요한 007_notification_history.sql도 이 방식으로 적용됩니다.
SQLITE_PATH: SQLite DB 경로JWT_SECRET: JWT 서명 키READ365_BASE_URL: read365 서버 URL. 기본값https://read365.edunet.netREAD365_TIMEOUT_MS: read365 요청 타임아웃. 기본값15000DLS_PROXY_BASE_URL:Book-on-DLS-v1프록시 서버 URL. 예:http://localhost:3001DLS_PROV_CODE: 기본값F10DLS_NEIS_CODE: 기본값F100000120DLS_SCHOOL_NAME: 학교명DLS_POPULAR_KEYWORD: 인기/추천 도서 조회에 사용할 검색어. 비어 있으면DLS_SCHOOL_NAME, 그다음소프트웨어를 사용DLS_TIMEOUT_MS: DLS 프록시 요청 타임아웃FCM_PROJECT_ID,FCM_CLIENT_EMAIL,FCM_PRIVATE_KEY: Firebase 서비스 계정 정보FCM_SERVICE_ACCOUNT_JSON: Firebase 서비스 계정 JSON 문자열 또는 base64 JSON. 개별 FCM 환경 변수 대신 사용 가능FCM_SCHEDULER_ENABLED: 반납/공지 푸시 스케줄러 사용 여부. 기본값trueFCM_DUE_REMINDER_HOUR: 반납 알림 발송 시각. 기본값9FCM_NOTICE_POLL_INTERVAL_MS: 새 공지 감지 주기. 기본값300000
POST /auth/read365/loginPOST /auth/read365/sessionPOST /auth/read365/session/extendGET /marathonGET /marathon/read365/myinfo
GET /dls/returnDateGET /dls/searchStudentGET /dls/currentLoanGET /dls/bookInfoGET /dls/loanHistoryGET /dls/executionGET /dls/searchBookGET /dls/extendLoan
POST /me/fcm-tokenDELETE /me/fcm-tokenPATCH /me/notification-settings- 반납 3일 전/당일 푸시 알림
- 새 도서부 공지 푸시 알림