GithubHelp home page GithubHelp logo

edify-front-end's People

Contributors

achadha0111 avatar r1fad avatar

Watchers

 avatar  avatar

edify-front-end's Issues

Add a create flow

This flow would allow a user to create what we would call a 'Notebook' with the following components:

  • Notes
    • This would allow a user to type up their notes. This could be a rich text editor
  • Flash cards
    • This would allow a user to create question-answer type flash cards

Add flashcards block component

This should be a flow consisting of:

  • A button that opens a flash card form.
  • A question (front) and answer (back) text fields.
  • An add button in the form that onClick:
    - Creates a new box with recently added card.
    - Adds to an existing box if box exists.
  • Allows sideways scroll through added cards: Downwards scroll was implemented.
  • Allows editing current card in view.

Add custom image handler

Currently, rich text editor image uploads will encode the image in base64 and send that as data. It would be better to add a custom handler that allows for uploading an image (storing it to s3 - need to think about security here) and then displaying the link as an embedded document.

Add mock api

Add mock api to deliver mock data for various routes

Create flashcard review flow

This flow fetches flashcards scheduled for review from the database and displays them to the user for testing their recall.

Feature Spec:

  • Fetches cards for review from database. If no cards pending, show appropriate message.
  • Shows a progress bar for cards remaining.
  • User can choose whether card was remembered or not remembered (to start off with).
  • Pushes card recall result back to the database.

Depends on:

  • API Endpoint (not needed urgently since data can be mocked).
  • Refactoring the flashcard component to be more general purpose.

Features Wishlist

In no particular order, a list of features that would be nice to have at some point in time:

  • A dashboard view for course leaders to track engagement with their notes.
  • A PDF to Rich Notes import.
  • An automated suggestion for improving flashcard quality.
  • Zettelkasten
  • Being able to make notes public.
  • Being able to fork public notes for reference/editing.
  • More extensive flashcard editing (currently it is only text).
  • Publish notes with flashcards on the internet to organically drive traffic to the site. Some sort of blog publishing trick should work here.
  • Custom in-text review questions (MCQ, type answers) - kind of like Khan Academy.
  • Web extension to add flashcard in arbitrary content.
  • Support for subcontinental languages.

Housekeeping tasks

  • Fix review page bug
  • Add delete button for notes on homepage
  • Add documentation for all components
  • Remove commented out snippets
  • Remove console.logs
  • Add logging interface
  • Increase test coverage to 70%
  • Improve test execution times

Add routes test

Currently, routes test do not work with auth context. Find a fix and reimplement them.

Fix to/from react router navigation

Having a properly working to/from react router navigation would enable us to redirect users directly to review page for their daily session from an email.

Add rich text block component

Features:

The styles supported by this component are (to start off with):

  • Page Title
  • Heading
  • Subheading
  • Paragraph
  • Bold
  • Italic
  • Underlined
  • Math

The interaction is carried out using a popover menu (this might get us in IP trouble, so we might have to think of something else) and using a toolbar on the page.

Testing:

Each interaction (toolbar or other) must be tested to produce the expected styles.
Testing for math is not clear at the moment. Most likely a library would take care of it.

Fix Editing Note highlights New Note

Currently, if you click on a note on the home page, it opens the respective note in the edit view but also highlights "New Note" in the sidebar, implying that this is a new note. This behaviour is counterintuitive. This requires a fix.

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.