{"id":51128474,"url":"https://github.com/huayemao/cheertimetable-web","last_synced_at":"2026-06-25T10:01:26.854Z","repository":{"id":48275956,"uuid":"458287750","full_name":"huayemao/cheerTimetable-web","owner":"huayemao","description":"yet another curriculum query tool for CSUers","archived":false,"fork":false,"pushed_at":"2025-09-10T13:15:59.000Z","size":2199,"stargazers_count":33,"open_issues_count":2,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-10T16:52:23.006Z","etag":null,"topics":["css-doodle","csu","education","nextjs","react","reactjs","tailwind","tailwindcss","vercel"],"latest_commit_sha":null,"homepage":"https://qike.huayemao.run/","language":"TypeScript","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/huayemao.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}},"created_at":"2022-02-11T17:54:06.000Z","updated_at":"2025-09-10T13:16:02.000Z","dependencies_parsed_at":"2024-03-25T16:45:40.934Z","dependency_job_id":null,"html_url":"https://github.com/huayemao/cheerTimetable-web","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/huayemao/cheerTimetable-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huayemao%2FcheerTimetable-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huayemao%2FcheerTimetable-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huayemao%2FcheerTimetable-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huayemao%2FcheerTimetable-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/huayemao","download_url":"https://codeload.github.com/huayemao/cheerTimetable-web/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huayemao%2FcheerTimetable-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34769611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-25T02:00:05.521Z","response_time":101,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["css-doodle","csu","education","nextjs","react","reactjs","tailwind","tailwindcss","vercel"],"created_at":"2026-06-25T10:01:24.613Z","updated_at":"2026-06-25T10:01:26.837Z","avatar_url":"https://github.com/huayemao.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## Overview\n\n见 [绮课简介](https://www.yuque.com/huayemao/cheer-timetable/overview)\n\n## 技术栈\n\n- [React.js](https://beta.reactjs.org/)\n- [Next.js](https://nextjs.org/)\n- [TailwindCss](https://tailwindcss.com/)\n- [Prisma](https://www.prisma.io/)\n\n## get Started\n\n此文档可能并不足够详尽，如遇到问题，请联系作者\n\n### prerequisite \n\n0. 你心爱的命令行终端和代码编辑器\n1. 安装 Node.JS 运行环境: [Node.js 12.22.0](https://nodejs.org/) 或更高版本；\n2. 安装 yarn\n3. 安装 MySQL 8.0\n\n### 1. 克隆代码仓库\n\n`git clone https://github.com/huayemao/cheerTimetable-web.git` 或 `git clone git@github.com:huayemao/cheerTimetable-web.git`\n\n### 2. 配置环境变量\n\n1. 数据库：准备一个 mysql 数据库实例，~~或者使用 [PlanetScale ](https://planetscale.com/)提供的服务，这也是目前绮课在生产环境所使用的。~~\n2. 获取教务系统 jwctest 环境以 kbuser 课表数据查询用户登录后获得的 cookie，详见 [绮课如何从教务系统抓取数据 | Dors.——花野猫的数字花园](https://dors.huayemao.run/posts/81)\n3. 在项目根目录创建环境变量文件 .env，使用 MySQL 数据库连接字符串和获得的 COOKIE 填写以下环境变量\n\n```latex\nDATABASE_URL='mysql://root:huayemao123@localhost:3306/cheerTimetable'\nCOOKIE='JSESSION_ID=XXX'\n```\n\n### 3. 安装依赖\n使用 `npm install`或 `yarn`命令安装 npm 依赖\n\n### 4. 导入数据\n\n1. 运行 `yarn db:generate`\n2. 运行 `yarn db:seed` ，自动从教务系统导入数据\n\n\n### 5. 开发调试\n\n运行 `yarn dev`将以开发模式启动 Next.js 项目，更多请见 [Next.js 文档](https://nextjs.org/docs/getting-started) \n\n## 主要目录结构\n\n```latex\n\n├── _data // 以异步 IIFE 导出从教务系统获取数据所需的 JSON\n├── components // React 组件\n├── constants // 常量\n├── contexts // 存放 React Contexts\n├── lib // 抽出的工具函数\n├── pages // Next.js 路由页面\n├── prisma // 数据库相关，包括模式定义和数据库导入脚本\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuayemao%2Fcheertimetable-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhuayemao%2Fcheertimetable-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuayemao%2Fcheertimetable-web/lists"}