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
Markdown
# ๐ฏ CLI Prep Game
> A fun and interactive command-line interview preparation game to test your programming knowledge!
[](https://github.com/Mohitpanjikar/command-line-interview-prep)
[](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*