ericway1024 / nott-course Goto Github PK
View Code? Open in Web Editor NEWReact app of an unofficial enhanced version of University of Nottingham's course catalogue.
Home Page: https://nott-course.uk/
License: MIT License
React app of an unofficial enhanced version of University of Nottingham's course catalogue.
Home Page: https://nott-course.uk/
License: MIT License
For course/plan detail pages
Generate a human readable PDF for a plan or a module and allow users to download. We may also generate the PDF file using a list of modules according to a plan and/or user's choice.
Our current site is not good looking enough!
Under the Nottingham Curriculum Catalogue heading, there is a small paragraph of text. The second sentence has the word "official" misspelled as "offical". That's it lol.
Previously the scraper omitted some fields on the original course page and failed to completely obtain the "learning outcomes" part. Course data should be renewed once the scraper is updated.
Users should be able to filter courses using various criteria.
For each field (school, level, semester, credits, etc.) users can select one or more values from all possible values. Only courses that fit all the criteria specified for the fields are shown in a list.
Display plan information on our site.
Example: BIOS4031
It seems that this happens when a module can be taught in different semesters. Currently only one semester appears in the system and the user can't have the other options in module choices.
For each module, show a list of plans that contain the module
A user enrolled in a certain plan may specify some courses they are interested in (or don't mind taking), which may exceed their credit limit. Generate a list of modules among them that satisfy plan requirements. Multiple solutions may be given for the user to choose from.
If we want to make it a public repo we need a decent README and repo description. Code must be refactored as well (#11).
CORS seems to be blocking the API request to get courses.
Full details (from Firefox)
XHRPOSThttps://nott-course.ericway.xyz/api/query/course
CORS Missing Allow Origin
POST
https://nott-course.ericway.xyz/api/query/course
Status
404
Not Found
VersionHTTP/3
Transferred685 B (153 B size)
Referrer Policystrict-origin-when-cross-origin
Request PriorityHighest
alt-svc
h3=":443"; ma=86400, h3-29=":443"; ma=86400
cf-cache-status
DYNAMIC
cf-ray
7ad209751e967773-LHR
content-encoding
br
content-type
text/html
date
Fri, 24 Mar 2023 21:34:13 GMT
nel
{"success_fraction":0,"report_to":"cf-nel","max_age":604800}
report-to
{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=tR54K9bSMW%2BiwgpaNzMaQA4u7lcmTGk%2BxRVfXjShWGugm9lv9%2F6CTkzwYgfj5xzJaE2uKEVbgVpUiQMPjlks1MK5s0gdzQjBnq17DScAL%2F1fw7G%2Fy5cJKIB3mcPE0RJczEjFYiMw8fnCVw%3D%3D"}],"group":"cf-nel","max_age":604800}
server
cloudflare
Accept
*/*
Accept-Encoding
gzip, deflate, br
Accept-Language
en
Authorization
U
Connection
keep-alive
Content-Length
53
Content-Type
application/json
DNT
1
Host
nott-course.ericway.xyz
Origin
https://nott-course.uk
Referer
https://nott-course.uk/
Sec-Fetch-Dest
empty
Sec-Fetch-Mode
cors
Sec-Fetch-Site
cross-site
TE
trailers
User-Agent
Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0
Using the requisites of the modules
Like courses, we also need filters for plans.
One potential problem is that we need to be able to filter plans according to their degree (e.g. BSc Hons), but we don't have such a field in our existing data. We need to separate this piece of information from the prefix of the plan title, using regular expression or other methods. Or, we might find this piece of information on the original website and update the scraper.
Add the corresponding reading list to each module. For this, we need another scraper for the website.
We currently use a json
file to store everything. This leads to a longer time to open the web page due to the large size of the data. It is expected that a separated back-end sever is developed.
Pagination of search results.
Generate all the assessments and their corresponding weighting percentage, both in the module and in the academic year, using a list of modules specified by the user (and perhaps initialised by a plan). The user may also export the list to a CSV file and download it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.