cli-prep
v1.0.1
Published
A fun and interactive command-line interview preparation game to test your programming knowledge with 80+ questions across multiple categories!
Maintainers
Readme
🎯 CLI Prep Game
A fun and interactive command-line interview preparation game to test your programming knowledge!
🚀 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)
npm install -g cli-prepLocal Installation
git clone https://github.com/Mohitpanjikar/command-line-interview-prep.git
cd command-line-interview-prep
npm install🎮 Usage
If installed globally:
cli-prepIf running locally:
npm start
# or
node index.js🎯 How to Play
- Enter your name when prompted
- Choose the number of questions you want to practice (1-80+)
- Answer multiple-choice questions using arrow keys
- Get instant feedback on each answer
- 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 deprecatedResults 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:
- Add Questions - Submit new programming questions
- Improve Categories - Suggest new question categories
- Enhance Features - Add new game modes or functionality
- Fix Bugs - Report and fix any issues
- Documentation - Improve docs and examples
Adding Questions
Questions are stored in questions.js. Each question follows this format:
{
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
