GithubHelp home page GithubHelp logo

frankeo / interview-tool Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 0.0 544 KB

This repo contains a CLI tool for create, save and deploy exercises for interviews.

Home Page: https://frankeo.github.io/interview-tool/

License: MIT License

JavaScript 99.56% Shell 0.44%
cli codesandbox interview interview-test sqlite yargs

interview-tool's People

Contributors

allcontributors[bot] avatar dependabot-preview[bot] avatar dependabot[bot] avatar frankeo avatar mceledm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

interview-tool's Issues

Manual Testing on Linux (Ubuntu)

This Technical Task includes:

  • Create Test Cases as notes inside the project Test Suite in the correct column
  • Execute the Test Case as they are created in Ubuntu environment.
  • Update the notes inside Test Scenrarios/columns as you need and adding more specific one if you need it

Split this User Story in several functionality/columns for a better tracking

Upgrade Github Page

This Technical Task includes

  • Reference to the NPM registry
  • Must have four sections:
    • Getting started page for install the tool (Win/Linux/Mac) and quick guided demo
    • Commands description with examples
    • New Features coming
    • Change logs

Setup Eslint & Prettier

This Technical Task includes

  • Must setup ESLint & Prettier for being compatible with Restyled.io and Code-factor.
  • Define commands for running locally and fix the issue automatically, whenever they can.
  • Define command for running in CI mode silently and fail if the criteria was not accomplish

Setup Changelog

This Technical Task includes

  • Defines Changelog tool/bot/action that we are going to use for now and on keep tracking of different changes fix in every version
  • Update User documentation (Github Page) so we have a section that represent our changelog related to the different versions
  • Trying to find the option (tool/bot/action) that enforce the most to the user to respect the changelog agreed

Setup Husky

This Technical Task includes

  • Adding husky config for prepush, so we can avoid upload wrong code.
    • All test passing
    • Linting & Prettier in fix mode
    • Check if it is possible for setting test coverage range and then check it
  • Update Build pipeline, so from now on it do
    • npm ci
    • run husky config in silent linting mode
    • update the badges of testing coverage

[FEATURE] Setup Integration test

Problem: The manual testing of the solution is too demanding and required testing and configuration of specific environments
Solution: Setup and run integration tests based on the Test-Cases for avoid repeat manual testing over different OS, and make the regression quicker.

Manual Testing on Windows

This Technical Task includes:

  • Create Test Cases as notes inside the project Test Suite in the correct column
  • Execute the Test Case as they are created in Windows environment.
  • Update the notes inside Test Scenarios/columns as you need and adding more specific one if you need it

Split this User Story in several functionality/columns for a better tracking

Avoid custom table formatting

Instead of this custom logic try with:


/* @TODO: Avoid custom table formatting
* @BODY: Instead of this custom logic try with:
* [console-table-printer](https://github.com/ayonious/console-table-printer) OR
* [cli-table3](https://github.com/cli-table/cli-table3) OR
* [Native node
* console](https://nodejs.org/api/console.html#console_console_table_tabulardata_properties)


This issue was generated by todo based on a TODO comment in 4c366ff when #73 was merged. cc @Frankeo.

Manual Testing Setup

This Technical Task includes:

  • Define a test case template markdown and put it into the wiki, in a new page (Manual Testing)
    • Try to use Github Markdown with check box for being able to mark when you are executing them (Github-Markdown)
    • Take in account some already make templates in combine them (templates , definitions) and whatever article you consider necessary.
  • Identify the functionality and create the amount of columns necessary for represent Test Scenarios inside the project Test Suite

[FEATURE] Add multiple projects in batch

Problem: If I have to upload a bunch of projects, I need to do it one by one, even if I have all of them ready
Solution: Put together all the projects in the same parent folder and make the tool scans and uploads all the projects contained.
Expected Result:

1. Folder A contains project B and C
2. interview-tool add A/
3. interview-tool list
4. B and C are listed

Update README

This Technical Task includes

  • Find a logo for the project and update it
  • Check all the links in the About section are working and point to relevant information in the Github Page
  • Point the Usage section link to correspondant section in the Github Page
  • Check that link in the Deployment section is working
  • Check all the dependencies are describe in the Using Build section with the correspondent format (if there is a bot for doing this automatically, is better!)
  • Point the New Feature section to the Github Page and remove the Todo List
  • Remove the Autor section

[FEATURE] Avoid adding duplicated projects

Problem: When I Add two times the same project this is added and then listed in tool.

Solution: Before adding a new project to the tool, check if the name, and the topic and difficulty are not already registered.

Path to Reproduce:

1. interview-tool add <project-folder>
2. interview-tool add <project-folder>
3. interview-tool list

[FEATURE] Track Analytics usage of the CLI.

Problem: We don't know where are the parts of the tool more propense to produce errors, or less use it, or where to put more effort to improve.
Solution: Track the command's usage of the tool so We can know the answers of the above query (Create queries and proper dashboard representation)

[FEATURE] Adding projects README as PDF file

Problem: When I publish a new project into codesandbox for an interview I received a document as markdown format
Solution: Transform the markdown file into a PDF file before publishing into codesandbox
Expected Result:

1. interview-tool add <project-name>
2. interview-tool deploy <project-name>
3. codesandbox: a README.pdf file in the project

After reviewing actual capabilities of codesandbox, this issue is closed:

Reason

  • Codesandbox is not able to visualize a PDF, only images
  • Not able to find the right library to convert markdown text to images in JS

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.