an API for mingdao high school's timetable

Overview

MdTimetableAPI

用途

抓取明道中學各班的課表

APIs

  1. 抓取特定班級之最新課表(以學期課表為主)

    https://md-apps.herokuapp.com/API/{className}

    • 參數
      className: 班級代號 (例: Y313, X212)
    • Response
      data: json object 分成當週個天每節課之課表,每節課的資訊也皆為一物件包刮classname(科目)以及teacher(教師)
  2. 抓取特定班級之特定學期週課表

    https://md-apps.herokuapp.com/API/{className}/{year}/{week}

    • 參數
      className: 班級代號 (例: Y313, X212)
      year: 學年度,為兩部代號組成,其一為學年(民國年,如110),其二為學期(1為上學期,2為下學期,3為暑假,4為寒假),兩者相加則為此參數的全貌(如110年之上學期為1101)
      week: 週次,為當學期之第幾週
    • Response
      data: json object 分成當週個天每節課之課表,每節課的資訊也接為一物件包刮classname(科目)以及teacher(教師)

Example

Code:(js)

try {
    let data = await fetch('https://md-apps.herokuapp.com/API/Y313/1101/2');
    data = await data.json();
    console.log(data);
}catch(err) {
    console.log('fetch err');
    console.error(err);
}

Response:

{
    "day1":{
        "1":{"classname":"英文","teacher":"吳O甄"},
        "2":{"classname":"體育","teacher":"林O民"},
        "3":{"classname":"物理","teacher":"賴O宏"},
        "4":{"classname":"地球科學","teacher":"黃O娟"},
        "5":{"classname":"萬花筒中的世界觀","teacher":"蘇O群"},
        "6":{"classname":"國文","teacher":"李O真"}.....(略)

Contributors

Anonymous-AAAA
LAZPbanahaker

You might also like...

High-quality, customizable web components for common user interface patterns

High-quality, customizable web components for common user interface patterns

Elix is a community-driven collection of high-quality web components for common user interface patterns. Most applications make use of common, general

Dec 19, 2022

Awesome critique of crypto / web3. Curated list of high quality critique plus background. Seek to be as constructive as possible.

Awesome critique of crypto/web3 Awesome critique of crypto/web3, etc. Contributions are welcome. Critique General Stephen Diehl series - https://www.s

Jan 1, 2023

The high efficent browser driver on top of puppeteer, ready for production scenarios.

The high efficent browser driver on top of puppeteer, ready for production scenarios.

browserless is an efficient driver for controlling headless browsers built on top of puppeteer developed for scenarios where performance matters. High

Jan 6, 2023

Crawler Crypto using NodeJS for performance with Elasticsearch DB for high efficiency.

Coin crawler - Coingecko version Crawler using NodeJS for performance with Elasticsearch DB for high efficiency. Requirements For development, you wil

Jan 20, 2022

High performance (de)compression in an 8kB package

fflate High performance (de)compression in an 8kB package Why fflate? fflate (short for fast flate) is the fastest, smallest, and most versatile pure

Dec 28, 2022

ArchiveWeb.page Express offers high-fidelity web archiving directly in the browser

ArchiveWeb.page Express offers high-fidelity web archiving directly in the browser! It provides a more streamlined version of ArchiveWeb.page system without requiring a custom extension or desktop app!

Jul 21, 2022

startupDB is an Express middleware function implementing a high-performance in-memory database

startupDB startupDB is a database designed to create REST APIs. It is implemented as an Express middleware function and allows for easy implementation

Jul 26, 2022

Fast and robust triangle-triangle intersection test with high precision for cross and coplanar triangles based on the algorithm by Devillers & Guigue.

fast-triangle-triangle-intersection Fast and robust triangle-triangle intersection test with high precision for cross and coplanar triangles based on

Nov 15, 2022

Lazy evaluation list with high tree-shaking affinity and easy customization.

Lazy evaluation list with high tree-shaking affinity and easy customization.

Lazy evaluation list with high tree-shaking affinity and easy customization. Features 🎁 Lazy Evaluation: The collections are only enumerated to the m

Dec 28, 2022
Comments
  • Bump jsonwebtoken from 8.5.1 to 9.0.0

    Bump jsonwebtoken from 8.5.1 to 9.0.0

    Bumps jsonwebtoken from 8.5.1 to 9.0.0.

    Changelog

    Sourced from jsonwebtoken's changelog.

    9.0.0 - 2022-12-21

    Breaking changes: See Migration from v8 to v9

    Breaking changes

    Security fixes

    • security: fixes Arbitrary File Write via verify function - CVE-2022-23529
    • security: fixes Insecure default algorithm in jwt.verify() could lead to signature validation bypass - CVE-2022-23540
    • security: fixes Insecure implementation of key retrieval function could lead to Forgeable Public/Private Tokens from RSA to HMAC - CVE-2022-23541
    • security: fixes Unrestricted key type could lead to legacy keys usage - CVE-2022-23539
    Commits
    • e1fa9dc Merge pull request from GHSA-8cf7-32gw-wr33
    • 5eaedbf chore(ci): remove github test actions job (#861)
    • cd4163e chore(ci): configure Github Actions jobs for Tests & Security Scanning (#856)
    • ecdf6cc fix!: Prevent accidental use of insecure key sizes & misconfiguration of secr...
    • 8345030 fix(sign&verify)!: Remove default none support from sign and verify met...
    • 7e6a86b Upload OpsLevel YAML (#849)
    • 74d5719 docs: update references vercel/ms references (#770)
    • d71e383 docs: document "invalid token" error
    • 3765003 docs: fix spelling in README.md: Peak -> Peek (#754)
    • a46097e docs: make decode impossible to discover before verify
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by julien.wollscheid, a new releaser for jsonwebtoken since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump mongoose from 6.3.5 to 6.4.6

    Bump mongoose from 6.3.5 to 6.4.6

    Bumps mongoose from 6.3.5 to 6.4.6.

    Release notes

    Sourced from mongoose's releases.

    6.4.6 / 2022-07-20

    • fix(schema): disallow setting proto when creating schema with dotted properties #12085
    • fix(document): avoid mutating original object passed to $set() when applying defaults to nested properties #12102
    • fix(query): apply lean transform option to top-level document #12093
    • docs(migrating_to_6): correct example for isObjectIdOrHexString() #12123 LokeshKanumoori

    6.4.5 / 2022-07-18

    • fix(model+timestamps): set timestamps on subdocuments in insertMany() #12060
    • fix: correct isAtlas check #12110 skrtheboss
    • fix(types): fix various issues with auto typed schemas #12042 mohammad0-0ahmad
    • fix(types): allow any value for AddFields #12096
    • fix(types): allow arbitrary expressions for ConcatArrays #12058
    • fix(types): make $addToSet fields mutable to allow programatically constructing $addToSet #12091
    • fix(types): add $let as a possible expression to $addFields #12087 AbdelrahmanHafez
    • fix(types): fix $switch expression type #12088 AbdelrahmanHafez
    • fix(types): correct options type for syncIndexes() #12101 lpizzinidev
    • fix(types): avoid treating | undefined types as any in Require_id to better support _id: String with auto-typed schemas #12070
    • docs: fix up various jsdoc issues #12086 hasezoey
    • docs: add sanitizeFilter to mongoose.set() options #12112 pathei-kosmos

    6.4.4 / 2022-07-08

    6.4.3 / 2022-07-05

    • fix(document): handle validating deeply nested subdocuments underneath nested paths with required: false #12021
    • fix(types): infer schematype type from schema paths when calling SchemaType.path() #11987
    • fix(types): add $top and $topN aggregation operators #12053
    • fix(types): clean up a couple of issues with $add and $ifNull #12017
    • fix(types): allow $cond with $in #12028
    • docs: add path level descending index example in docs #12023 MitchellCash
    • docs: add Buffer, Decimal128, Map to docs #11971

    6.4.2 / 2022-07-01

    • fix: keep autoIndex & autoCreate as true by default if read preference is primaryPreferred #11976
    • fix(types): improve inferred Schema Type to handle nested paths and ObjectIds #12007 iammola
    • fix(types): avoid inferring doc type from param to create() #12001
    • fix(types): make populate Paths generic consistently overwrite doc interface #11955
    • fix(types): allow null at ne expression second parameter #11996 jyeros
    • fix(types): change index "weights" to be more explicit #11997 hasezoey

    6.4.1 / 2022-06-27

    ... (truncated)

    Changelog

    Sourced from mongoose's changelog.

    6.4.6 / 2022-07-20

    • fix(schema): disallow setting proto when creating schema with dotted properties #12085
    • fix(document): avoid mutating original object passed to $set() when applying defaults to nested properties #12102
    • fix(query): apply lean transform option to top-level document #12093
    • docs(migrating_to_6): correct example for isObjectIdOrHexString() #12123 LokeshKanumoori

    6.4.5 / 2022-07-18

    • fix(model+timestamps): set timestamps on subdocuments in insertMany() #12060
    • fix: correct isAtlas check #12110 skrtheboss
    • fix(types): fix various issues with auto typed schemas #12042 mohammad0-0ahmad
    • fix(types): allow any value for AddFields #12096
    • fix(types): allow arbitrary expressions for ConcatArrays #12058
    • fix(types): make $addToSet fields mutable to allow programatically constructing $addToSet #12091
    • fix(types): add $let as a possible expression to $addFields #12087 AbdelrahmanHafez
    • fix(types): fix $switch expression type #12088 AbdelrahmanHafez
    • fix(types): correct options type for syncIndexes() #12101 lpizzinidev
    • fix(types): avoid treating | undefined types as any in Require_id to better support _id: String with auto-typed schemas #12070
    • docs: fix up various jsdoc issues #12086 hasezoey
    • docs: add sanitizeFilter to mongoose.set() options #12112 pathei-kosmos

    6.4.4 / 2022-07-08

    6.4.3 / 2022-07-05

    • fix(document): handle validating deeply nested subdocuments underneath nested paths with required: false #12021
    • fix(types): infer schematype type from schema paths when calling SchemaType.path() #11987
    • fix(types): add $top and $topN aggregation operators #12053
    • fix(types): clean up a couple of issues with $add and $ifNull #12017
    • fix(types): allow $cond with $in #12028
    • docs: add path level descending index example in docs #12023 MitchellCash
    • docs: add Buffer, Decimal128, Map to docs #11971

    6.4.2 / 2022-07-01

    • fix: keep autoIndex & autoCreate as true by default if read preference is primaryPreferred #11976
    • fix(types): improve inferred Schema Type to handle nested paths and ObjectIds #12007 iammola
    • fix(types): avoid inferring doc type from param to create() #12001
    • fix(types): make populate Paths generic consistently overwrite doc interface #11955
    • fix(types): allow null at ne expression second parameter #11996 jyeros
    • fix(types): change index "weights" to be more explicit #11997 hasezoey

    6.4.1 / 2022-06-27

    ... (truncated)

    Commits
    • 5449ab9 chore: release 6.4.6
    • b8c99cf Merge pull request #11892 from Automattic/netlify-functions-example
    • 2751883 fix tests
    • eced2c7 Merge branch 'master' into netlify-functions-example
    • 92cb6fb Merge branch 'master' into vkarpov15/gh-12085
    • 422f9da test(schema): add coverage for calling plugin() with options
    • 2262a77 fix(document): avoid mutating original object passed to $set() when applying ...
    • 2e6b064 made requested changes
    • b70a0dc Merge pull request #12123 from LokeshKanumoori/patch-1
    • 086bd9f fix(query): apply lean transform option to top-level document
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
Owner
TakeUFlab
A team to make something
TakeUFlab
Metaschool is a virtual school that includes a set of several existing schools in society.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Balep Martin 2 Jul 9, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A Timetable DApp. It is a university group project.

A blockchain e-timetable project It is now testing, please use Metamask and Rinkeby Test Network Metamask: https://metamask.io/ Get some coin in test

null 4 Apr 30, 2022
Timetable app (webapp) for SLIIT students of all years

Build status: Timetable App (for SLIIT students) This web app is made for SLIIT students of all years and all specializations. The timetables of most

Pawan Senpura 20 Nov 26, 2022
CUtopia is a course review and timetable planning website for CUHK students.

CUtopia The source code for cutopia.app. CUtopia is a course review and timetable planning website for CUHK students. It provides a platform for stude

CUtopia Lab 6 Dec 13, 2022
Monitor your code for exposed API keys, tokens, credentials, and high-risk security IaC misconfigurations

Spectral VS Code extension The Spectral VS Code extension is a tool for developers that want to catch security issues (such as credentials, tokens and

null 15 Dec 19, 2022
High performance JSX web views for S.js applications

Surplus const name = S.data("world"), view = <h1>Hello {name()}!</h1>; document.body.appendChild(view); Surplus is a compiler and runtime to all

Adam Haile 587 Dec 30, 2022
AppRun is a JavaScript library for developing high-performance and reliable web applications using the elm inspired architecture, events and components.

AppRun AppRun is a JavaScript library for building reliable, high-performance web applications using the Elm-inspired architecture, events, and compon

Yiyi Sun 1.1k Dec 20, 2022