interview-tool

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

Usage no npm install needed!

<script type="module">
  import interviewTool from 'https://cdn.skypack.dev/interview-tool';
</script>

README

Interview Tool

Build Publish CodeQL CodeFactor Coverage Status Dependabot

All Contributors


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

:pencil: Table of Contents

:mag: About

The main idea is to have a collection of easy to extract interview code challenges and being able to deploy them into codesandbox.

The CLI (interview-tool) let you create a new project with the next scaffolding, so you don't start form scratch!

Also, let you add/save already started projects to your interview list, following this criteria.

All the projects into your interview list are able to be deploy! you have multiple criteria selection, even a random one for avoiding favoritism problems! 😎

:checkered_flag: Getting Started

Prerequisites

For using this CLI, needs to be installed: NodeJS

Installation

Only need to run

npm install -g interview-tool

And that's it!! 🥳

Debugging

  • 1º Download the project and install the packages inside the project folder
cd interview-challenges/
npm i
  • 2º Inside the project folder you need to create a linksymb to be able to run the tool globally
npm link
  • 3º Go to another location (one folder back is enough!) and check if the command interview-tool is available.

  • 4º That's all! Your code changes are going to take effect over the commands executed by the tool! 🤓

:balloon: Usage

For a more detailed documentation and examples

interview-tool <command>
  • add <folderName>: Name of the folder containing the repo that you want to upload.

  • list: Get all the exercises available

  • create <projectName>: Create a new project folder to work in locally.

  • deploy [-p] [-t] [-d] [noTests]: Deploy to CodeSandbox by projectName, Topic or Difficulty

  • completion: Follow the instructions to get autocompletion CLI tool.

:rocket: Deployment

Github Actions for creating a npm package

Version ReleaseDate Downloads Last commit

:pick: Built Using

:crossed_fingers: New Features

:heavy_check_mark: Adding more unit testing.

:white_large_square: Manual Testing on Windows.

:white_large_square: Manual Testing on Linux (Ubuntu and Debian).

:heavy_check_mark: Adding better log information.

:white_large_square: Adding support for generate document on readme (to PDF format) in every internal project.

:heavy_check_mark: Check project status before saving.

:white_large_square: Avoid adding duplicated projects

:heavy_check_mark: Setting Dependabot for the project.

:white_large_square: Create Integration test for avoid repeat manual testing over different OS.

:white_large_square: Install Eslint and define Standard.

:heavy_check_mark: Define License for the project.

:white_large_square: Add multiple projects in batch when contained in the same folder.

:white_large_square: Install Husky for prepush and avoid upload wrong code.

:white_large_square: Adding Changelog tracking in user documentation.

:white_large_square: Track Analytics usage of the CLI.

:white_large_square: Create Github Page for user Documentation.

:white_large_square: Create Wiki for developer easy rampage.

:writing_hand: Authors

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Tomás Novau

👀

María Celeste de Majo

👀

This project follows the all-contributors specification. Contributions of any kind welcome!