Coder Social home page Coder Social logo

ericway1024 / nott-course Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 1.0 12.17 MB

React app of an unofficial enhanced version of University of Nottingham's course catalogue.

Home Page: https://nott-course.uk/

License: MIT License

HTML 2.39% CSS 12.18% JavaScript 85.43%

nott-course's People

Contributors

augustinefu avatar ericway1024 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

markjfannon

nott-course's Issues

Exporting Plan/Modules to PDF

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.

Better UI

Our current site is not good looking enough!

Typo on the index/home page

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.

Course Data Update

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.

Advanced Filters

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.

A module code might have multiple modules

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.

Module Choice Assistant

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.

Open Source

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 blocking API requests

CORS seems to be blocking the API request to get courses.

Screenshot of error on Firefox

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

Filters for Plans

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.

Back-end Separation

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.

Assessment Breakdown

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.