Boost Your Professional Profile with LinkedIn Skill Assessments: Take the Test Now!
View Demo
·
Report Bug
·
Request Feature
I had the idea to build this project because I was planning to do some Linkedin skills assessments, but I wanted to test my knowledge first.
I had already visited the Ebazhanov's Github repository that collects questions that users have answered in their assessments.
And I saw an immersion of Alura with Mario Souto and Juliana Amoasei in early March 2023, where they developed a quiz.
When I was putting things together, I thought of using the questions available in this repository as a database for a competency quiz project.
To extract the questions from the Markdown file they were in and put them into a semi-structured file like JSON, I created the following script in Python:
import markdown
import json
import requests
# Defines the link to the Markdown file
url_arquivo = 'https://raw.githubusercontent.com/Ebazhanov/linkedin-skill-assessments-quizzes/main/html/html-quiz.md'
# Makes an HTTP request to get the contents of the file
conteudo_arquivo = requests.get(url_arquivo).text
# Converts the contents of the file from Markdown to HTML
conteudo_html = markdown.markdown(conteudo_arquivo)
# Selects only the content of the <h2> tag
titulo = conteudo_html.split('<h2>')[1].split('</h2>')[0]
# Selects only the content of the <h4> tag
questions = conteudo_html.split('<h4>')[1:]
questions = [q.replace('</h4>', '') for q in questions]
# Separate questions from alternatives by storing them in a dictionary
for i, q in enumerate(questions):
question = q.split('<ul>')[0]
alternatives = q.split('<li>')[1:]
alternatives = [a.replace('</li>', '') for a in alternatives]
is_correct = [True if '[x]' in a else False for a in alternatives]
alternatives = [a.replace('[x]', '') for a in alternatives]
alternatives = [a.replace('[ ]', '') for a in alternatives]
alternatives = [{'alternative': a, 'is_correct': c} for a, c in zip(alternatives, is_correct)]
questions[i] = {
'question': question,
'alternatives': alternatives
}
# Create a dictionary to store questions
conteudo_json = {
'title': titulo,
'questions': questions
}
nome_arquivo = titulo + '.json'
with open(nome_arquivo, 'w') as f:
json.dump(conteudo_json, f)
From there, I created the front end to use the constant data in the JSON files.
To get a local copy up and running follow these simple steps.
- Clone the repo
git clone https://github.com/josafamarengo/skill-assessments.git
- Go to project folder
cd skill-assessments
- Install packages
npm install
OR
yarn
See the open issues for a list of proposed features (and known issues).
- Use Matter.js to create an animation
- Add Authentication
- Add a profile page
Any contributions you make are greatly appreciated. Before you get started, please take a moment to review our Code of Conduct and Contributing Guidelines.
- Fork this repository to your own GitHub account.
- Follow the steps on Getting Started Section.
- Create a new branch for your:
- Feature
git checkout -b feature/your-feature
- Bug fix
git checkout -b bugfix/bug
- Docs, improvments, refactoring, optmizing,...
git checkout -b requirement/your-requirement
. - Commit your changes with clear and concise commit messages following the Angular commit convention
- Push your changes to your forked repository.
- Submit a pull request to our repository with a description of your changes.
Please make sure to write clear commit messages and to follow our coding conventions. We appreciate your contributions and will review them as soon as possible!
If you encounter any bugs or have feature requests, please open an issue on our Issue Tracker. Be sure to include a clear and concise description of the issue, any steps needed to reproduce the problem, and any relevant code snippets.
Please review our Code of Conduct before contributing. We expect all contributors to abide by the principles outlined in the document.
Please review our Contributing Guidelines before contributing. These guidelines will provide details on how to contribute to the project, the coding standards we follow, and the development process we use.
This Contributing section is adapted from the Contributing Guidelines template created by PurpleBooth.
Distributed under the GNU General Public License v3.0. See LICENSE
for more information.
- Ebazhanov - linkedin-skill-assessments-quizzes
- Alura - AluraQuiz
- Ícone do Quiz