UNPKG

cli-prep

Version:

A fun and interactive command-line interview preparation game to test your programming knowledge with 80+ questions across multiple categories!

212 lines (165 loc) โ€ข 6.63 kB
# ๐ŸŽฏ CLI Prep Game > A fun and interactive command-line interview preparation game to test your programming knowledge! [![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/Mohitpanjikar/command-line-interview-prep) [![Node](https://img.shields.io/badge/node-%3E%3D14.0.0-brightgreen.svg)](https://nodejs.org/) ## ๐Ÿš€ Features - **80+ Programming Questions** across multiple categories - **Personalized Feedback** with performance analysis - **Category-based Analytics** to identify strengths and weaknesses - **Randomized Questions** for unique experiences every time - **Beautiful CLI Interface** with colors, animations, and emojis - **Flexible Quiz Length** - choose from 1 to 80+ questions - **Smart Suggestions** for improvement based on your performance ## ๐Ÿ“š Question Categories - ๐Ÿงฎ **Algorithms** - Time complexity, sorting, searching - ๐Ÿ“Š **Data Structures** - Arrays, stacks, queues, trees, graphs - ๐Ÿ“œ **JavaScript** - ES6+, closures, promises, DOM manipulation - ๐ŸŒ **Web Development** - HTTP, CSS, HTML, APIs - ๐Ÿ—„๏ธ **Database** - SQL, normalization, indexing - ๐Ÿ—๏ธ **System Design** - Load balancing, caching, scaling - ๐Ÿงช **Testing** - Unit testing, TDD, integration testing - ๐Ÿ”ง **Programming Concepts** - OOP, SOLID principles, design patterns - ๐Ÿ“ฆ **Node.js & React** - Modern JavaScript frameworks - ๐Ÿ”€ **Git** - Version control and collaboration ## ๐Ÿ› ๏ธ Installation ### Global Installation (Recommended) ```bash npm install -g cli-prep ``` ### Local Installation ```bash git clone https://github.com/Mohitpanjikar/command-line-interview-prep.git cd command-line-interview-prep npm install ``` ## ๐ŸŽฎ Usage ### If installed globally: ```bash cli-prep ``` ### If running locally: ```bash npm start # or node index.js ``` ## ๐ŸŽฏ How to Play 1. **Enter your name** when prompted 2. **Choose the number of questions** you want to practice (1-80+) 3. **Answer multiple-choice questions** using arrow keys 4. **Get instant feedback** on each answer 5. **Review your performance** with detailed analytics at the end ## ๐Ÿ“Š Performance Levels - ๐Ÿ† **Outstanding** (90-100%) - You're a programming wizard! - ๐ŸŒŸ **Excellent** (80-89%) - Great job, solid understanding! - ๐Ÿ‘ **Good** (70-79%) - Well done, you're on the right track! - ๐Ÿ“š **Fair** (60-69%) - Nice effort, room for improvement - ๐Ÿ’ช **Needs Improvement** (40-59%) - Keep going, everyone starts somewhere - ๐Ÿš€ **Keep Learning** (0-39%) - Don't give up, programming is a journey! ## ๐ŸŽจ Screenshots ### Welcome Screen ``` Welcome to the CLI Prep Game! ____ _ ___ ____ / ___| | | |_ _| | _ \ _ __ ___ _ __ | | | | | | | |_) | | '__| / _ \ | '_ \ | |___ | |___ | | | __/ | | | __/ | |_) | \____| |_____| |___| |_| |_| \___| | .__/ |_| ๐ŸŽฏ Test your knowledge with 80+ programming questions! ๐Ÿ“š Categories: Algorithms, Data Structures, JavaScript, Web Dev, and more! ``` ### Question Example ``` ๐Ÿ“‚ Category: JavaScript ? Question 5/10: What is the difference between == and === in JavaScript? โฏ == checks type, === checks value == checks value, === checks type and value No difference === is deprecated ``` ### Results Dashboard ``` ============================================================ ๐ŸŽฏ QUIZ RESULTS FOR JOHN ============================================================ ๐Ÿ“Š Final Score: 8/10 (80.0%) ๐Ÿ… Performance Level: Excellent ๐ŸŒŸ ๐Ÿ’ฌ Personal Feedback: Great job, John! You have a solid understanding! ๐Ÿ“ˆ Category Analysis: JavaScript: 3/4 (75%) - Good ๐Ÿ‘ Algorithms: 2/2 (100%) - Strong ๐Ÿ’ช Data Structures: 2/3 (67%) - Good ๐Ÿ‘ Web Development: 1/1 (100%) - Strong ๐Ÿ’ช ๐Ÿ’ก Suggestions for Improvement: 1. Focus on the areas where you missed questions 2. Practice more complex problem-solving scenarios 3. Review system design concepts ``` ## ๐Ÿ—๏ธ Project Structure ``` cli-prep/ โ”œโ”€โ”€ index.js # Main game logic and flow โ”œโ”€โ”€ questions.js # Question bank (80+ questions) โ”œโ”€โ”€ feedback.js # Feedback and analysis functions โ”œโ”€โ”€ package.json # Package configuration โ””โ”€โ”€ README.md # This file ``` ## ๐Ÿ”ง Dependencies - **chalk** - Terminal styling and colors - **chalk-animation** - Animated text effects - **figlet** - ASCII art text - **gradient-string** - Gradient colored text - **inquirer** - Interactive command line prompts - **nanospinner** - Loading spinners ## ๐ŸŽฏ Perfect For - ๐Ÿ“š **Interview Preparation** - Practice common technical questions - ๐Ÿง  **Knowledge Assessment** - Test your programming concepts - ๐Ÿซ **Learning & Education** - Reinforce programming fundamentals - ๐ŸŽฎ **Fun Coding Practice** - Gamify your learning experience - ๐Ÿ‘ฅ **Team Building** - Challenge your colleagues - ๐Ÿ“ˆ **Skill Tracking** - Monitor your progress over time ## ๐Ÿš€ Coming Soon - ๐Ÿ”ฅ Difficulty levels (Beginner, Intermediate, Advanced) - โฑ๏ธ Timed challenges and speed rounds - ๐Ÿ“Š Progress tracking and statistics - ๐Ÿ† Achievement system and badges - ๐Ÿ“ฑ Category-specific training modes - ๐Ÿ’พ Save progress and history - ๐ŸŒ Multi-language support ## ๐Ÿค Contributing Contributions are welcome! Here's how you can help: 1. **Add Questions** - Submit new programming questions 2. **Improve Categories** - Suggest new question categories 3. **Enhance Features** - Add new game modes or functionality 4. **Fix Bugs** - Report and fix any issues 5. **Documentation** - Improve docs and examples ### Adding Questions Questions are stored in `questions.js`. Each question follows this format: ```javascript { question: 'Your question here?', choices: [ { name: 'Option A', value: 'Option A' }, { name: 'Option B', value: 'Option B' }, { name: 'Option C', value: 'Option C' }, { name: 'Option D', value: 'Option D' } ], correctAnswer: 'Option B', category: 'JavaScript' } ``` ## Acknowledgments - Thanks to all contributors who helped build the question bank - Inspired by the need for fun, interactive interview preparation - Built with love for the programming community ## ๐Ÿ“ž Support Having issues? Here's how to get help: - ๐Ÿ› **Bug Reports** - Open an issue on GitHub - ๐Ÿ’ก **Feature Requests** - Suggest new features - โ“ **Questions** - Ask in discussions - ๐Ÿ“ง **Contact** - Reach out via email --- **Happy Coding! ๐Ÿš€** *Made with โค๏ธ for developers by developers*