Skip to content

Unes27/subnetting-practice-tool

Repository files navigation

⚑ Subnetting Practice Tool

A premium, interactive web application for mastering IP subnetting β€” featuring a sleek glassmorphism UI, gamified XP system, binary visualization, and real-time feedback.

Version License PWA


πŸš€ Features

🎯 Core Practice

  • 6 Answer Fields β€” Subnet Mask, Network, First Host, Last Host, Broadcast, Next Subnet
  • Real-time Validation β€” instant βœ”/βœ– feedback with glow highlights
  • Mistake Explanations β€” field-specific hints when you get something wrong
  • Step-by-Step Solutions β€” full breakdown of how to calculate each value
  • Hints β€” context-aware tip about the interesting octet and block size

πŸ† Gamification

  • XP & Level System β€” 10 tiers from Beginner all the way to Legend
  • Score & Streak Multiplier β€” earn more XP the longer your streak
  • Confetti Celebrations πŸŽ‰ β€” triggered at streak milestones (5, 10, 25…)
  • Animated Stat Counters β€” score and streak numbers count up smoothly

πŸ’» Learning Tools

  • Binary Visualization β€” see the IP, mask, and network address in binary with network bits and host bits color-coded
  • Subnetting Cheat Sheet β€” collapsible reference table covering /8 to /30
  • Progress Bar β€” tracks how many of the 6 fields you've answered

βš™οΈ Advanced Options

  • Exam Mode β€” disables hints, show buttons, and binary view for a real exam feel
  • Custom Prefix Range β€” target specific prefix lengths (/8 to /30)
  • Auto Fill β€” pre-fills non-interesting octets so you can focus on what matters
  • Auto Check β€” validates each field as you type
  • Export History β€” download your attempt history as CSV or JSON
  • Statistics View β€” see your 5 weakest prefixes by accuracy

⌨️ Keyboard Shortcuts

Key Action
N Next Problem
Enter Check All
S Show All Answers
H Toggle Hint
B Toggle Binary View

🎨 Premium UI/UX

  • Glassmorphism Design β€” frosted-glass panels with backdrop blur
  • Animated Gradient Background β€” slowly shifting indigo/teal/purple mesh
  • Inter + JetBrains Mono typography
  • Glowing accents β€” neon highlights on focused inputs and correct answers
  • Micro-animations β€” hover lifts, input shake on wrong answer, slide-in panels
  • Responsive β€” desktop table layout + mobile card layout
  • Sticky Action Bar on mobile for quick access
  • PWA β€” installable, works offline

πŸ“± Live Demo

https://unes27.github.io/subnetting-practice-tool


πŸ› οΈ Technologies

  • HTML5 β€” semantic markup, PWA manifest
  • CSS3 β€” custom properties, glassmorphism, keyframe animations
  • Vanilla JavaScript β€” pure ES6+, no frameworks
  • LocalStorage β€” persistent XP, history, and settings
  • Service Worker β€” offline support

πŸ“¦ Getting Started

Use Online

Visit: https://unes27.github.io/subnetting-practice-tool

Run Locally

git clone https://github.com/Unes27/subnetting-practice-tool.git
cd subnetting-practice-tool
python -m http.server 8000
# Open http://localhost:8000

πŸŽ“ How to Practice

  1. Select a difficulty β€” Easy (24–30), Medium (16–28), or Hard (8–30)
  2. Read the target IP (e.g. 192.168.5.73 /26)
  3. Fill in all 6 fields β€” Subnet Mask, Network, First Host, Last Host, Broadcast, Next Subnet
  4. Press Enter or click Check All
  5. Use Hint, Steps, or Binary (B) if you get stuck
  6. Earn XP, build your streak, and level up!

πŸ“‚ Project Structure

subnetting-practice-tool/
β”œβ”€β”€ index.html      # Main application
β”œβ”€β”€ styles.css      # Glassmorphism design system
β”œβ”€β”€ script.js       # App logic, XP system, binary viz
β”œβ”€β”€ manifest.json   # PWA manifest
β”œβ”€β”€ sw.js           # Service worker
β”œβ”€β”€ favicon.svg     # App icon
└── README.md       # Documentation

πŸ”„ Changelog

v3.0.0 β€” Premium Redesign

  • ✨ Full glassmorphism UI with animated gradient background
  • πŸ† XP / Level system (10 tiers)
  • πŸ”’ Subnet Mask answer field added
  • πŸ’» Binary visualization with color-coded bits
  • πŸ“– Subnetting cheat sheet
  • πŸ“Š Progress bar
  • πŸŽ‰ Confetti celebrations on streak milestones
  • ⌨️ Keyboard shortcut legend
  • 🎨 Inter + JetBrains Mono fonts

v2.0.0

  • Exam simulator with timed tests
  • Multiple question types
  • PWA support with offline mode
  • Advanced statistics

v1.0.0

  • Initial release with core subnetting practice

🀝 Contributing

Contributions welcome! Please open a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/YourFeature)
  3. Commit your changes (git commit -m 'Add YourFeature')
  4. Push to the branch (git push origin feature/YourFeature)
  5. Open a Pull Request

πŸ“ License

MIT β€” see LICENSE for details.

πŸ‘€ Author

Younes Ait Faraji β€” @Unes27


Β© 2026 Younes Ait Faraji. All rights reserved.

About

Modern interactive subnetting practice tool with difficulty modes, timer, statistics, and GitHub Pages deployment.

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors