Skip to content

This project is a competency quiz application designed to help users test their knowledge in various areas before taking skills assessments on Linkedin.

License

Notifications You must be signed in to change notification settings

josafamarengo/skill-assessments

Repository files navigation

LinkedIn lighthouse_accessibility lighthouse_best-practices lighthouse_performance lighthouse_seo Issues License


LinkedIn Skill Quiz

Boost Your Professional Profile with LinkedIn Skill Assessments: Take the Test Now!

View Demo · Report Bug · Request Feature

🔍 Table of Contents

  1. About The Project
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments

ℹ️ About The Project

skill-assessments Home Screen Shot skill-assessments Quiz Screen Shotskill-assessments Question Screen Shot

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.

Built With

Next.jsReactTypeScriptTailwind CSS

(back to top)

🚀 Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

Installation

  1. Clone the repo
git clone https://github.com/josafamarengo/skill-assessments.git
  1. Go to project folder
cd skill-assessments
  1. Install packages
npm install

OR

yarn

(back to top)

🗺️ Roadmap

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

👥 Contributing

Any contributions you make are greatly appreciated. Before you get started, please take a moment to review our Code of Conduct and Contributing Guidelines.

How to Contribute

  1. Fork this repository to your own GitHub account.
  2. Follow the steps on Getting Started Section.
  3. Create a new branch for your:
    1. Feature git checkout -b feature/your-feature
    2. Bug fix git checkout -b bugfix/bug
    3. Docs, improvments, refactoring, optmizing,... git checkout -b requirement/your-requirement.
  4. Commit your changes with clear and concise commit messages following the Angular commit convention
  5. Push your changes to your forked repository.
  6. 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!

Issue Tracker

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.

Code of Conduct

Please review our Code of Conduct before contributing. We expect all contributors to abide by the principles outlined in the document.

Contributing Guidelines

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.

Attribution

This Contributing section is adapted from the Contributing Guidelines template created by PurpleBooth.

(back to top)

📜 License

Distributed under the GNU General Public License v3.0. See LICENSE for more information.

📧 Contact

Linkedin Portfolio

🙏 Acknowledgments

(back to top)

Built with ❤︎ by Josafá Marengo

About

This project is a competency quiz application designed to help users test their knowledge in various areas before taking skills assessments on Linkedin.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published