Master Data Structures & Algorithms and Crack Technical Interviews
A modern, interactive web application for learning and practicing DSA concepts with a gamified learning experience.
- 6 Comprehensive Topics: Arrays, Strings, Linked Lists, Trees, Graphs, Dynamic Programming
- Each topic includes:
- Detailed theory explanations
- Key concepts and properties
- Common problem patterns
- Difficulty ratings (Easy-Medium-Hard)
- Sample problem lists
- 15+ curated problems spanning all DSA topics
- Filterable by difficulty (Easy, Medium, Hard)
- Real-time search functionality
- Problem tags for quick identification
- Acceptance rate tracking
- Visual completion badges
Users can now:
- Mark practice problems as favorites
- Filter favorite problems
- Persist favorites using localStorage
- Click the heart icon on any practice problem
- Use the "Favorites" filter to view saved problems
60 Topic-Specific Questions (10 per topic covering key concepts)
- Arrays: Time complexity, operations, Two Sum, Kadane's algorithm, rotation techniques
- Strings: Pattern matching (KMP), palindrome detection, anagrams, sliding window
- Linked Lists: Pointer manipulation, cycle detection, reversal, merging
- Trees: Traversals, BST properties, height calculation, LCA, heaps
- Graphs: Representations, BFS/DFS, topological sort, Dijkstra, MST algorithms
- Dynamic Programming: Memoization, tabulation, classic problems (Fibonacci, Knapsack, LIS, Edit Distance)
Quiz Features:
- Interactive modal interface
- Progress bar tracking
- Instant answer feedback (correct/incorrect highlighting)
- Detailed explanations for each question
- Score calculation (percentage)
- XP rewards: 10 XP per correct answer
- Best score tracking per topic
- Attempt counter
- Randomized question order
Customizable Profile:
- Edit display name
- Choose from 12 avatar emojis
- View join date
- Track level progression
Progress Tracking:
- Total XP accumulation
- Problems solved counter
- Day streak monitoring
- Badge earning system
Levels:
- 8 levels from Beginner to Legend
- XP thresholds: 0, 1,000, 2,500, 5,000, 10,000, 20,000, 50,000, 100,000
- Automatic level-up notifications
Badges:
- 🌟 First Steps (solve 1 problem)
- 🔥 On Fire (7-day streak)
- 💎 Diamond (5,000 XP)
- 🚀 Rocket (50 problems)
- 👑 Master (100 problems)
- 🎯 Sharpshooter (25 problems + 2,500 XP)
Badge tooltips: Hover or tap any badge on the dashboard to see the badge name, description, and unlock criteria.
- Complete statistics overview
- Recent activity feed
- Achievement badges display
- Leaderboard comparison
- Roadmap progress visualization
- Multi-language support (JavaScript, Python, Java, C++)
- Line numbers and syntax highlighting
- Code snippets insertion
- Auto-formatting
- Line comment toggling
- Run and submit simulation
- Test case validation
- Instant DSA concept explanations
- Time/space complexity queries
- Problem-solving strategy hints
- Quick question buttons
- Context-aware responses
Visual Design:
- Dark/Light theme toggle
- Glassmorphism UI elements
- Gradient accents
- Animated transitions
- Starfield background effect
- Responsive layout (mobile, tablet, desktop)
Navigation:
- Sticky navbar with smooth scrolling
- Mobile hamburger menu
- Scroll-to-top button
- Section-based navigation
- HTML5: Semantic markup
- CSS3: Custom properties, Flexbox, Grid, animations
- JavaScript (ES6+): Vanilla JS, no frameworks
- LocalStorage: Persistent user data
- Font Awesome: Icon library
- Google Fonts: Orbitron, Poppins, Fira Code
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Local web server (optional, can open directly)
-
Clone the repository
git clone https://github.com/yourusername/Algo-Infinity-Verse.git cd Algo-Infinity-Verse -
Open the application
- Simply open
index.htmlin your browser - Or use a local server:
# Using Python python -m http.server 8000 # Using Node.js npx serve
Then visit
http://localhost:8000 - Simply open
-
Start learning!
- Create your profile
- Browse DSA topics
- Take quizzes
- Practice problems
- Track your progress
Algo-Infinity-Verse/
├── index.html # Main HTML structure
├── styles.css # All CSS styles and responsive design
├── script.js # JavaScript logic, data, and interactivity
└── README.md # Project documentation
dsaTopics - Topic information including:
- ID, name, icon, description
- Difficulty level
- Theory explanation
- Related problems
quizQuestions - Quiz database:
- 60 questions across 6 topics
- Multiple-choice format (4 options)
- Correct answer indices
- Detailed explanations
practiceProblems - Problem catalog:
- Title, difficulty, tags
- Acceptance rates
- Category associations
chatbotResponses - Knowledge base:
- DSA concept explanations
- Complexity definitions
- Algorithm overviews
userProgress object tracks:
- User name and avatar
- Completed problem IDs
- Total XP and current level
- Day streak count
- Earned badges
- Quiz scores per topic
- Last active date
Persisted to localStorage under key algoInfinityVerse.
- User clicks "Start Quiz" on topic card
- Questions are shuffled randomly
- Modal displays one question at a time
- User selects an answer → immediate feedback
- Correct answer highlighted in green; user's wrong choice in red
- Auto-advance after 1.2 second delay
- After 10 questions: score calculation
- Results modal shows percentage, XP earned, performance message
- Progress bars and statistics update
- 10 XP per correct answer
- Best score saved per topic (max percentage)
- Total attempts tracked
- Progress bar fills on first attempt
Edit script.js and add to quizQuestions object:
const quizQuestions = {
arrays: [
{
id: "arrays-11", // unique ID
question: "Your question here?",
options: ["Option A", "Option B", "Option C", "Option D"],
correct: 0, // 0-indexed correct answer
explanation: "Detailed explanation of why the answer is correct"
},
// ... more questions
],
// ... other topics
};- Add to
dsaTopicsarray with icon, description, theory - Add corresponding
quizQuestions[topicKey]array with 10 questions - The UI auto-generates topic cards and quiz cards
Colors: Edit CSS variables in :root:
:root {
--primary: #7c3aed; /* Main purple */
--secondary: #3b82f6; /* Blue accent */
--accent: #06b6d4; /* Cyan highlight */
/* ... */
}Fonts: Update Google Fonts links in index.html and CSS font-family declarations.
XP Values: Modify getXPForDifficulty() function for practice problems or quiz XP calculation.
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
Uses modern ES6+ features and CSS Grid/Flexbox.
Potential features for expansion:
- Database backend for multi-user support
- Real code execution sandbox
- Social features (friends, groups, competitions)
- Advanced analytics and learning insights
- Video tutorials and explanations
- Mobile app (React Native)
- Interview simulation mode
- Company-specific question banks
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Be respectful and constructive. See our Code of Conduct for guidelines.
- 📧 Email: opensource@algo-infinity-verse.org
- 💬 Discord: Join our server
- 🐛 Report bugs via GitHub Issues
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by LeetCode, HackerRank, and freeCodeCamp
- Built with ❤️ for the DSA learning community
- Icons by Font Awesome
- Fonts by Google Fonts
Start your DSA journey today and level up your coding skills! 🚀