interview-tool
v2.0.0
Published
This repo contains a CLI tool for create, save and deploy exercises for interviews.
Downloads
8
Readme
Interview Tool
: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:
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 availablecreate <projectName>
: Create a new project folder to work in locally.deploy [-p] [-t] [-d] [noTests]
: Deploy to CodeSandbox by projectName, Topic or Difficultycompletion
: Follow the instructions to get autocompletion CLI tool.
:rocket: Deployment
Github Actions for creating a npm package
:pick: Built Using
- NodeJs - Server Environment
- Yargs - Command Parser
- CodeSandbox - Exercise release environment
- SQLite - Local exercise DB
: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
- Francisco Moreno - Idea & Initial work
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!