Code Monkey home page Code Monkey logo

gutenberg's People

Contributors

alasdairwilson avatar dependabot[bot] avatar iamjulian0 avatar martinjrobins avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gutenberg's Issues

semantic search for material

My plan is to use openai to make vectors, save them to a local qdrant vector db and search terms are also vectorised and compared to the db.

toUTCString -> toLocaleString

In some pages/components we are displaying datetimes as UTC strings rather than user's locale (e.g. see EventView.tsx).

Need to find these and change to using toLocaleString()

survey forms for event + eventGroup

@steve-crouch has put together a great set of survey questions based on those used at the southampton pilots. It would be good to incorporate them as feedback froms into gutenberg. Perhaps:

  1. Pre-event questionair: This might be event specific so would be difficult to implement as I'm not sure how you could automatically generate a form from a supplied desciptor. You sorta can do it using json-schemas, but its fiddly
  2. Post-event questionair: Again very event specific so not sure how to implement this. Could just link to a google/microsoft form? Put the link into the event content markdown
  3. feedback for eventGroup. This I can see being easier to implement as the questions are very generic, so could put together a standard form. Then each eventGroup has a link to the feedback from for that eventGroup, and stored in the dbase linked to that particular eventGroup

Anchor links for challenges

challenges should have id=<id>, where <id> is the id from the challenge directive in the material. This way we can link to them from elsewhere

cannot clear active event

  1. select an active event
  2. unselect active event
  3. refresh the page and the original event is still active

student/instructor views

  • students should see their progression through the material
  • Instructors should see problem data submitted by students

In Sidebar:

  • Instructors :"x%" next to each item indicating the average percentage complete of each item across the enrolled students. If the item has no problems this is not displayed
  • Students: "a/b" next to each item indicating the number of complete problems in each item. If the item has no problems this is not displayed. If a section is complete it changes color to green with a tick instead.

On Problem:

  • Instructors: eye icon that opens a dialog showing full list of responses
  • Instructors: tick icon and "a/b" indicating number of students who have completed this problem
  • Instructors: easy / average / hard colored amber / green / red with tooltip showing "a/b" difficulty

timeline summary on event page

need a timeline summary on the main event page. This page is viewable by those who are not yet enrolled, so shouldn't contain locations or any other info we want to restrict

render markdown slides

We've started putting in markdown slide material in some courses (under slides subdir). Would be good if gutenberg rendered these in some format (e.g. reveal.js)

light-mode issues

  • buttons on challenges not showing up in light mode
  • some images don't work well in light mode

add deployment ci

deployment step in test.yml is empty, need to fill this in to deploy to train.oxrse.uk (if other site exist, southampton, should have other jobs to deploy there as well? @steve-crouch)

note that we have depoy.yml to deploy to github static pages, this should be merged into test.yml perhaps?

More responsive material pages web layout

Would it make sense to have a more responsive web layout for material pages, where the content width resizes proportionally to the browser width? This may make sense for learners (and those delivering instructor-led sessions) with larger monitors.

Comments system

students should be able to ask questions on material and receive responses, each CommentThread row has:

  • event (foreign key to Event, required)
  • eventgroup (foreign key to EventGroup, optional)
  • section (string, link to material page, blank if not linked to material)
  • problem (string, link to problem, blank if not linked to a problem)
  • text_ref (string, text within section that this comment refers to, includes surrounding text, blank if not linked to material)
  • text_ref_start (optional, index within text_ref that indicates start of text that this comment refers to)
  • text_ref_end (optional, index within text_ref that indicates end of text that this comment refers to)

each Comment has:

  • markdown for content (string, required)
  • comment (foreign key, required)
  • next_comment (foreign key to Comment, optional)

In UI:

  • users can add comments to event and eventgroup pages
  • users can highlight text in the material (or select a paragraph, this might be more feasible) and add a comment along with some markdown
  • users can see and respond to comments if they have selected (and enrolled in) its event

Backwards/forwards navigation between episodes

Consider adding backwards and forwards navigation icons (perhaps at the bottom or top of the episode content pages) so learners and instructors can progress to previous and next episodes more quickly.

clean up material diagram

  • remove cross-theme links at toplevel
  • remove sections from top level
  • add cross-course links at course level

Templatise the front-page layout

It would be nice to have a templatised front-page layout in some way, to make it easier for new deployers to customise to their own needs - and then reference it in the deployment instructions.

Change topbar nav to burger menu on small screens

When you go deep down a material tree the navbar gets destroyed on mobile devices, we should make it collapse on small screens, rprobably keep the right hand side icons but make the material nav into a burger menu

image

Have paragraph selectors for headings and exercises

It would be convenient to have a heading/exercise paragraph selector for copying direct links to sections or exercises to send to others (like with the Carpentries formatting style). This would be particularly useful for instructors referencing particular sections or challenges for learners.

need an admin user role

So we can implement admin UI / endpoints (e.g. creating / editing an event, adding users to an event)

useEffect warnings

we've got various useEffect warnings for dependencies, need to tidy up these

intermittent fails on component tests with Error: ResizeObserver loop limit exceeded

fail
pass

I thought this was an issue with updating the node version to 18 to but I can semi-reliably recreate this on node 16 as well. It seems to happen less often with cypress 13+ (which requires node>20), working every time for me locally and well at least once on the CI, though with 1 fail too.

Stack overflow seems to suggest this error should just be caught and ignored as it is meaningless but making an issue just in case this is inaccurate.

Render bullet-pointed list of material on main material overview page

On the materials overall page, below the diagram it might be useful to have the materials rendered as a bullet point-style list (e.g. by module/lesson) which links to the modules/lessons in the material. This may become more important as more material is added to ease navigation.

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.