Giter Club home page Giter Club logo

qfind's Introduction

qfind

A word-matching filter-based search engine for past paper questions and mark schemes.

Goals

Short term

  • Redesign
  • Better filter system
  • Add more papers
  • Multiple pages(home, search, help, about)
  • Monetisation
  • Advertising

Long term

  • My folder
  • Accounts
  • Mark calculator
  • Paper search

About

qfind allows users to search thousands of past paper questions by matching keywords or applying filters. This functionality is available at the simple client-only webpage lorcaheeney.github.io/qfind that connects to a database of questions generated by a python backend.

How it works

Papers to be processed are stored in the URL.txt file, with different exam boards being seperated by headers and a paper consisting of a link to both the paper and its markscheme on consecutive lines. Once the python program has read all of the papers in and filtered out previously processed papers it used curl to grab the pdf file, converts the pdf file to html and then uses regex based searching to find the start of questions. The program also scans the first page of the paper for important detail such as the module(M1,CH3 etc.), session(SUMMER or WINTER) and year. Once this information has been handled it writes new records into PDFS.txt.

Database structure

PDFS.txt consists of records which are seperated by newlines and headers which denote the different exam boards, the fields are seperated by "@~" delimiter. Record structure ->

EXAM_BOARD@~MODULE@~SESSION@~YEAR@~QUESTION_NUM@~PAGE_NUM@~PAPERURL@~MSURL@~KEYWORDS

e.g

WJEC@~PH4@~SUMMER@~2015@~1@~2@~https://jacktilson.net/edu/physics/pastpapers/PH4/June%202015%20QP%20-%20Unit%204%20WJEC%20Physics%20A-level.pdf@~https://jacktilson.net/edu/physics/pastpapers/PH4/June%202015%20MS%20-%20Unit%204%20WJEC%20Physics%20A-level.pdf@~A OXYGEN GAS IS HELD IN SEALED CONTAINER IEXPLAININCLEARSTEPS USINGTHEKINETICTHEORYANDNEWTONSLAWSOFMOTION HOW THE EXERTS PRESSURE ON WALLS OF IIIF BEHAVES AS AN IDEAL THEN STATE MEANING EACH TERMS I N II M III C WJEC CBAC LTD PV NMC PMT BACKGROUND PNG TURNOVER EXAMINER ONLY B VOLUME HOLDS AT PA AND TEMPERATURE RELATIVE MOLECULAR MASS CALCULATE ITHE NUMBER MOLES IITHE RMS SPEED MOLECULES PRACTICE NOT GIVE ONE REASON FOR THIS

qfind's People

Contributors

lorcaheeney avatar

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.