Skip to content

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

License

Notifications You must be signed in to change notification settings

Frankeo/interview-tool

Repository files navigation

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.

📝 Table of Contents

🔍 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! 😎

🏁 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.

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

🎈 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.

🚀 Deployment

Github Actions for creating a npm package

Version ReleaseDate Downloads Last commit

⛏️ Built Using

🤞 New Features

✔️ Adding more unit testing.

⬜ Manual Testing on Windows.

⬜ Manual Testing on Linux (Ubuntu and Debian).

✔️ Adding better log information.

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

✔️ Check project status before saving.

⬜ Avoid adding duplicated projects

✔️ Setting Dependabot for the project.

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

⬜ Install Eslint and define Standard.

✔️ Define License for the project.

⬜ Add multiple projects in batch when contained in the same folder.

⬜ Install Husky for prepush and avoid upload wrong code.

⬜ Adding Changelog tracking in user documentation.

⬜ Track Analytics usage of the CLI.

⬜ Create Github Page for user Documentation.

⬜ Create Wiki for developer easy rampage.

✍️ 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!