An interactive web application to explore India's geography, history, rivers, forts, dynasties, and cultural heritage through a beautiful visual SVG map.
- About
- Features
- Tech Stack
- Quick Start
- How to Use
- Project Structure
- Browser Support
- Contributing
- License
Map.in is a comprehensive, interactive educational tool that brings India's rich geographical and historical heritage to life. It combines modern web technologies with educational content to provide an engaging learning experience for students, educators, history enthusiasts, and anyone curious about India.
Build a single, unified platform where users can explore:
- ποΈ 28 States and 8 Union Territories
- π 14 Major River Systems
- π° Historical Forts and monuments
- π 11 Major Dynasties and empires
- ποΈ Historical Events spanning thousands of years
- π£οΈ Regional Languages across India
All on one beautiful, interactive map!
- States β Explore all 28 states with detailed information about capital, area, population, language, and key facts
- Union Territories β Discover 8 union territories with pinpoint markers
- Rivers β Trace 14 major river systems with smooth, flowing visualizations
- Ghats β View Western and Eastern Ghats, plus sacred river ghats
- Forts β Locate historical forts with dynasty information
- Languages β Visual representation of India's linguistic diversity
- Dynasties β Watch animated empire expansions from their capitals
- Historical Events β Timeline of major events in Indian history
When you select a dynasty, watch as:
- β A glowing marker appears at the empire's capital
- π An expanding circle visualizes territorial growth
- π¨ States highlight progressively based on distance from capital
- π« Smooth animations bring history to life
- Autocomplete search across all categories
- Instant results for states, rivers, forts, dynasties, and events
- Click any result to view details and location on map
- Works on desktop, tablet, and mobile devices
- Resizable side panel for detailed information
- Dark mode optimized for comfortable viewing
| Technology | Purpose |
|---|---|
| HTML5 | Structure and inline SVG map |
| CSS3 | Styling, animations, and transitions |
| Vanilla JavaScript | All logic and interactivity |
| Font Awesome | Icons throughout the UI |
| SVG | Interactive India map with detailed paths |
No frameworks. No build tools. No dependencies.
Just pure web technologies for instant loading and maximum performance!
You only need a modern web browser:
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
No server, Node.js, or npm required!
- Clone the repository
git clone https://github.com/yourusername/map.in.git
cd map.in- Open in your browser
Simply open index.html in your web browser:
Option A: Double-click
- Navigate to the project folder
- Double-click
index.html
Option B: Command line
# Windows
start index.html
# macOS
open index.html
# Linux
xdg-open index.htmlOption C: Local server (optional)
# Python 3
python -m http.server 8000
# Python 2
python -m SimpleHTTPServer 8000
# Node.js (if you have it)
npx serve
# Then open: http://localhost:8000That's it! The application will load instantly in your browser.
-
Choose a Category
- Click any tag button at the top (States, Rivers, Forts, Dynasties, etc.)
- The map overlay will change to show that category
-
Interact with the Map
- Hover over states to see highlights
- Click on states, markers, or rivers for detailed information
- Information appears in the side panel on the right
-
Search
- Click the π search icon in the top-right
- Type to search across all categories
- Click any result to view it on the map
-
View Details
- Side panel shows comprehensive information
- Includes facts, statistics, and historical context
- Click "β Back to list" to return to overview
- Click the Dynasties tag (π crown icon)
- Select any dynasty from the list
- Watch the animated expansion from the capital city
- View detailed information about the empire
- Click the π moon icon to toggle between dark and light themes
- Dark theme is optimized for comfortable viewing
map.in/
βββ index.html # Main HTML file with inline SVG map
βββ script.js # Core application logic and data
βββ style.css # Main stylesheet
βββ timeline-data.js # Timeline data engine
βββ logo.png # Application logo (PNG)
βββ logo.avif # Application logo (AVIF format)
βββ components/
β βββ data-loader.js # Data loading utilities
β βββ overlays.js # Map overlay rendering logic
β βββ overlays.css # Overlay-specific styles
β βββ search.js # Search functionality
β βββ search.css # Search component styles
β βββ tags.js # Category tag system
β βββ tags.css # Tag button styles
β βββ timeline.js # Timeline slider component
βββ resources/
β βββ images/
β βββ States/ # State-specific images
β βββ Tamil Nadu/
β β βββ t1.webp
β β βββ t2.jpg
β βββ Telangana/
β βββ t1.webp
β βββ t2.jpg
βββ README.md # This file
| File | Description |
|---|---|
index.html |
Entry point with embedded SVG map of India |
script.js |
All data (states, rivers, forts, dynasties) and core logic |
style.css |
Complete visual styling and design system |
components/overlays.js |
Handles all map overlays and animations |
components/search.js |
Search and autocomplete functionality |
components/tags.js |
Category selection system |
| Element | Color | Hex Code |
|---|---|---|
| Background | Deep Navy | #0a0e27 |
| State Fill | Dark Blue | #1e2a4a |
| State Border | Cyan | #00e5ff |
| Accent | Orange | #ff9800 |
| Rivers | Blue | #3498db, #56ccf2 |
| Navbar | Purple-Blue Gradient | #667eea β #764ba2 |
- Primary Font: Segoe UI, system-ui
- Fallbacks: -apple-system, BlinkMacSystemFont, sans-serif
| Browser | Minimum Version | Status |
|---|---|---|
| Chrome | 90+ | β Fully Supported |
| Firefox | 88+ | β Fully Supported |
| Safari | 14+ | β Fully Supported |
| Edge | 90+ | β Fully Supported |
| IE 11 | N/A | β Not Supported |
Note: Internet Explorer is not supported. Please use a modern browser.
Map.in is fully responsive and works seamlessly across all device sizes!
| Device Type | Screen Width | Layout |
|---|---|---|
| π± Mobile Phones | 320px - 599px | Vertical stack (map top, panel bottom) |
| π± Large Phones | 600px - 767px | Vertical stack with larger elements |
| π± Tablets | 768px - 1199px | Vertical stack in portrait, side-by-side in landscape |
| π» Laptops | 1200px - 1919px | Side-by-side layout (default) |
| π₯οΈ Large Displays | 1920px - 2559px | Optimized side-by-side with larger content |
| π₯οΈ Ultra-wide (4K) | 2560px+ | Maximum content width with enhanced readability |
- Side-by-side layout: map on left, panel on right
- Resizable panel by dragging left edge
- Full navigation and search features
- Optimal viewing experience
- Portrait: Vertical stack (map 50%, panel 50%)
- Landscape: Side-by-side layout (map 50%, panel 50%)
- Touch-optimized buttons and controls
- Scrollable content areas
- Portrait: Vertical stack (map 45%, panel 55%)
- Landscape: Side-by-side (map 50%, panel 50%)
- Compact navigation and tags
- Larger tap targets for touch
- Simplified labels for clarity
β
Fluid Typography - Text sizes scale based on screen size
β
Flexible Layouts - Components rearrange for optimal viewing
β
Touch-Friendly - Larger tap targets on mobile devices
β
Smart Labels - Map labels adjust size or hide on small screens
β
Scrollable Content - All content accessible through smooth scrolling
β
Orientation Support - Works in both portrait and landscape modes
β
High DPI Ready - Crisp rendering on Retina and high-DPI displays
- βΏ Keyboard Navigation - Full keyboard support
- ποΈ High Contrast Mode - Adapts to system preferences
- π Reduced Motion - Respects prefers-reduced-motion settings
- π± Touch Gestures - Optimized for touchscreen devices
- π¨οΈ Print Friendly - Optimized print layout
| Category | Count |
|---|---|
| States | 28 |
| Union Territories | 8 |
| Major Rivers | 14 |
| Historical Forts | 4+ (expandable) |
| Dynasties | 11 |
| Historical Events | 12+ |
| Regional Languages | 16+ |
Contributions are welcome! Here's how you can help:
- Add SVG
<path>toindex.htmlwith uniqueid - Add entry to
statesDatainscript.js - Update
stateLanguagesmapping
- Add entry to
RIVERSarray incomponents/overlays.jswith waypoints - Add matching entry to
riversDatainscript.js
- Add entry to
dynastiesDatainscript.js - Include:
id,name,period,capital,color,states[],facts[] - Add capital coordinates if needed in
components/overlays.js
- Add entry to
fortsDatainscript.js - Include:
name,coordinates: [lat, lng],dynasty,built,facts[]
- Keep all data inline in
script.js(no external data files) - Follow existing code style and conventions
- Test in multiple browsers before submitting
- Update this README if adding new features
Found a bug or have a suggestion?
- Check existing issues first
- Create a new issue with:
- Clear description
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Browser and version
This project is licensed under the MIT License.
You are free to:
- β Use commercially
- β Modify
- β Distribute
- β Private use
See the LICENSE file for details.
- Font Awesome for the icon library
- Indian Geography data compiled from public sources
- Historical Information from various educational resources
For questions, suggestions, or collaboration:
- GitHub Issues: Create an issue
- Email: your.email@example.com
Planned features for future versions:
- Timeline scrubber to view territorial changes by year
- Multi-dynasty comparison mode
- 3D terrain visualization
- Export functionality (images, data)
- Offline mode support
- Multi-language support (Hindi, Tamil, etc.)
- Audio descriptions for accessibility
- Battle animations between empires
- Trade route visualizations
- β Interactive India map with 28 states and 8 UTs
- β 14 major river systems with smooth paths
- β Dynasty expansion animations
- β Search functionality
- β Multiple overlay categories
- β Responsive design
- β Dark theme
Built with β€οΈ using HTML, CSS, and Vanilla JavaScript
No frameworks β’ No build tools β’ Just the web
β Star this repo if you find it useful!