Code Monkey home page Code Monkey logo

skillsassist's Introduction

SkillsAssist

SkillsAssist is a quiz application that uses data from LinkedIn skills assessments. It is designed to help users prepare for interviews or learn new skills. The application is written in Python using Flask and incorporates some JavaScript. SkillsAssist allows users to run the application locally, save their quiz results, and track their progress over time.

Features

  • LinkedIn Skills Assessments Integration: SkillsAssist fetches data from LinkedIn skills assessments (from this repository) to provide users with relevant quiz questions. There are 85 available topics which all have multiple choice questions. All duplicated questions and questions without correct answers have been removed to improve the user experience.
  • Local Setup: SkillsAssist is designed to be run locally, allowing users to have complete control over their quiz experience.
  • Results Tracking: The application saves users' quiz results, enabling them to track their progress and review their performance.

LinkedIn Skills Assessments Data

SkillsAssist uses data from LinkedIn Skills Assessments to provide users with relevant quiz questions. LinkedIn Skills Assessments are a collection of multiple-choice quizes designed to evaluate and validate individuals' skills in various areas. More information can be found here

The quiz questions in SkillsAssist are sourced from this repository. I have created a fork (here) to remove duplicate questions, which is cloned to this repository as a git submodule.

Whether you are preparing for interviews or aiming to improve your skills, SkillsAssist provides a valuable tool to enhance your knowledge in a structured and practical way.

Installation

To install and set up SkillsAssist on your local machine, follow these steps:

  1. Clone the repository: git clone https://github.com/Caff1982/SkillsAssist.git
  2. Navigate to the project directory: cd SkillsAssist
  3. Create a virtual environment: python3 -m venv venv
  4. Activate the virtual environment:
    • On macOS and Linux: source venv/bin/activate
    • On Windows: venv\Scripts\activate.bat
  5. Install the required dependencies: pip install -r requirements.txt

Usage

To run SkillsAssist locally, follow these steps:

  1. Ensure you are in the project directory and have the virtual environment activated.
  2. Start the application: python run.py. When the program is first run the data will be downloaded and the database populated automatically.
  3. Open your web browser and go to http://localhost:5000 to access SkillsAssist.
  4. To check for updates to the data repository run python run.py --clone, or to force an update run python run.py --force-clone.

Question Sorting Algorithm

SkillsAssist employs an exponentially weighted average score-based sorting algorithm to prioritize quiz questions. This algorithm ensures that questions are sorted based on their dynamically calculated scores, taking into account both recent and historical performance.

The algorithm operates as follows:

  1. Each quiz question is initialized with an ema_score of zero.

  2. As users attempt questions and provide answers, the algorithm updates the ema_score for each question.

  3. The ema_score is calculated using an exponentially weighted average formula, incorporating the user's performance on the question. The formula used is as follows: ema_score = EMA_ALPHA * score + (1 - EMA_ALPHA) * ema_score Here, EMA_ALPHA represents the weight given to the most recent score (default is 0.5), while (1 - EMA_ALPHA) represents the weight given to the historical scores. The score is 1 if the answer is correct and 0 if incorrect.

  4. Questions with lower exponentially weighted average scores are prioritized and presented to users more frequently, allowing users to focus on the most challenging questions and enhance their skills effectively.

This approach ensures that users receive a tailored learning experience, with the algorithm dynamically adapting to their skill levels and providing targeted practice on areas that require improvement.

License

SkillsAssist is released under the MIT License.

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.