A modern web application that allows users to track and visualize IP address locations on an interactive map.
- 🔍 Search for any IP address or domain
- 🗺️ View the location on an interactive map using Leaflet
- 📊 Display key information about the IP address:
- IP Address
- Location (City, Region, Country)
- Timezone
- ISP (Internet Service Provider)
- 📱 Fully responsive design for all device sizes
- 📜 Search history tracking for quick access to previous searches
- ⚡ Fast performance with React and Vite
- Frontend Framework: React 18 with TypeScript
- Styling: TailwindCSS for responsive design
- Map: Leaflet with React-Leaflet integration
- Icons: Lucide React
- Build Tool: Vite
- API: ipapi.co for IP geolocation data
- Node.js (v16 or higher)
- npm or yarn
-
Clone the repository:
git clone https://github.com/yosephdev/ip-address-tracker.git cd ip-address-tracker -
Install dependencies:
npm install # or yarn install -
Start the development server:
npm run dev # or yarn dev -
Open your browser and navigate to
http://localhost:5173
To create a production build:
npm run build
# or
yarn buildThe build files will be located in the dist directory.
To preview the production build locally:
npm run preview
# or
yarn previewip-address-tracker/
├── src/
│ ├── App.tsx # Main application component
│ ├── index.css # Global styles
│ ├── main.tsx # Entry point
│ └── vite-env.d.ts # Vite environment types
├── public/ # Static assets
├── index.html # HTML template
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── vite.config.ts # Vite configuration
├── tailwind.config.js # Tailwind CSS configuration
└── README.md # Project documentation
This project uses the ipapi.co API to fetch IP address information. The free tier includes:
- 1,000 requests per day
- No API key required for basic usage
- JSON response format
Example API response structure:
{
"ip": "8.8.8.8",
"city": "Mountain View",
"region": "California",
"country_name": "United States",
"latitude": 37.4056,
"longitude": -122.0775,
"timezone": "America/Los_Angeles",
"org": "Google LLC"
}- Add domain name lookup functionality
- Implement dark mode toggle
- Add more detailed IP information
- Create shareable links for specific IP lookups
- Add data visualization for IP statistics
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Yoseph Berhane
- Website: yoseph.dev
- GitHub: @yosephdev
- Leaflet for the interactive maps
- ipapi.co for the IP geolocation API
- TailwindCSS for the styling framework
- Lucide React for the beautiful icons