{"id":19662440,"url":"https://github.com/qsctech/zjuintl-grpc","last_synced_at":"2025-04-28T21:32:00.717Z","repository":{"id":145828579,"uuid":"131011824","full_name":"QSCTech/ZJUintl-gRPC","owner":"QSCTech","description":"gRPC service for Zhejiang University Intl Campus.","archived":true,"fork":false,"pushed_at":"2019-02-17T13:30:19.000Z","size":100,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-14T22:13:04.440Z","etag":null,"topics":[],"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/QSCTech.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":"2018-04-25T13:37:29.000Z","updated_at":"2024-09-05T20:10:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"a2179bc1-325e-4ce7-9780-ac03210a7acb","html_url":"https://github.com/QSCTech/ZJUintl-gRPC","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QSCTech%2FZJUintl-gRPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QSCTech%2FZJUintl-gRPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QSCTech%2FZJUintl-gRPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QSCTech%2FZJUintl-gRPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QSCTech","download_url":"https://codeload.github.com/QSCTech/ZJUintl-gRPC/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251391254,"owners_count":21582135,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-11T16:11:20.341Z","updated_at":"2025-04-28T21:32:00.704Z","avatar_url":"https://github.com/QSCTech.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gRPC service for ZJUintl\n\n\u003e 注意：由于getbbalert这个接口无法在内网中正确获取数据(原因不详)，因此暂时走的是位于`106.14.216.254:50053`上的rpc服务\n\n## Overview\nAs described above, this project is a `gRPC` service for ZJUintl Campus, it aims at providing safe and stable application interface for developers to get data they want which includes course information, exam details, exam scores etc.\nFor a developer who want to use our service, you do not need to learn gRPC at all, what you need to do is to install our particular SDK which will be published later.\n\u003e Hopefully, you guys will have a good developing experience.\n\n## Server Side Deploy\n```bash\nnpm i\nnpm start\n```\nAlso, you need to create a config file yourself according to the sample given by.\n```\nmv config_sample.js config.js\nvim config.js\n```\n## Bug Report\nThe same course at same time in one day (even has distinct date) should has same room, instructor name and end time.\n\n## Endponit Lists\n1. **Connect_test** - Test whether you can connect to our sevice.\n```js\nAccept{\n    name: String   //Your name\n}\n```\n```js\nReturn{\n    status: String,\n    message: String \n}\n```\n2. **getCourse** - Get the course list and time table from *PeopleSoft*\n```js\nAccept{\n    username: String   //ZJUid\n    password: String   //Password corresponding to that ZJUid\n}\n```\n```js\nReturn{\n    status: String\n    course: [{\n        id, name, time, type, room, instructor, week, month, date, weeknum\n    }]\n}\n```\n3. **getBBGradeList** - Get the course list with a sum grade from *BlackBoard*\n```js\nAccept{\n    username: String\n    password: String\n}\n```\n```js\nReturn{\n    status: String\n    courses: [{\n        name, grade, courseid\n    }]\n}\n```\n4. **getBBCertainGrade** - Get detail grade for one certain course from *BalckBoard*\n```js\nAccept{\n    username: String\n    password: String\n    courseid: String\n}\n```\n```js\nReturn{\n    status: String\n    items: [{\n        name, grade\n    }]\n}\n```\n\n## Status Code Reference\n| Case                                                     | Code        | Generated at Client or Server |\n| -------------------------------------------------------- | :---------- | ----------------------------- |\n| Username or password is wrong.                           | USERWRONG   | Server                        |\n| Some error occurs when fetching data.                    | FETCHERROR  | Server                        |\n| Some error occurs for your client.                       | CLIENTERROR | Client                        |\n| Success fetching data.                                   | SUCCESS     | Both                          |\n| You didn't input complete user info(username, password). | PARAMERROR  | Server                        |\n\n\n## Controbutor\nLaphets `i@laphets.com` 求是潮技术研发中心\n\n**If you have any problem when using our service, pls let me know.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqsctech%2Fzjuintl-grpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqsctech%2Fzjuintl-grpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqsctech%2Fzjuintl-grpc/lists"}