DomainThings is a Progressive Web Application that allows you to search for domain availability and track domains of interest. Built with modern web standards and focusing on client-side processing for privacy, it provides a fast and reliable domain analysis experience.
- π Privacy-First: No server-side data storage - everything stays in your browser
- β‘ Fast Performance: Quick domain lookups with intelligent caching
- π± Progressive Web App: Installable as a native app with service worker support
- π¨ Modern Design: Clean, responsive interface with dark/light theme support
- π§ Developer-Friendly: Built with TypeScript and modern tooling
- DNS Analysis: Domain availability checking using Cloudflare's DNS-over-HTTPS
- RDAP Data: Registry information via IANA's RDAP bootstrap services
- Multi-TLD Search: Search across all available top-level domains
- Smart Results: Intelligent domain availability assessment
- Watch List: Bookmark and track domains of interest
- TLD Bookmarks: Save favorite extensions for quick searching
- Search History: Navigate through your search queries
- Local Storage: All data stored locally for privacy
- Service Worker: Background caching and PWA functionality
- Smart Caching: DNS and RDAP response caching for better performance
- Error Handling: Robust error recovery with user-friendly messages
- Responsive Design: Works seamlessly on desktop and mobile devices
Vue 3 + Composition API β Modern reactive framework with TypeScript
Pinia β State management for search and app data
Vue Router β Client-side routing with query parameters
TailwindCSS β Utility-first CSS framework
IndexedDB (via idb) β Client-side data persistence
Vite β Fast development and optimized builds
TypeScript β Type safety and better developer experience
Workbox β Service worker and PWA features
ESLint β Code quality and consistency
Cloudflare DNS β DNS-over-HTTPS for domain lookups
IANA RDAP β Official domain registry data
Cloudflare Pages β Static hosting and deployment
- Node.js 18+ and npm
- Modern web browser
- Git
# Clone the repository
git clone https://github.com/DomainThings/DomainThings.dev.git
cd DomainThings.dev
# Install dependencies
npm install
# Start development server
npm run dev
# Development server with hot reload
npm run dev
# Type checking
npm run type-check
# Build for production
npm run build
# Preview production build
npm run preview
# Build optimized bundle
npm run build
# Files will be generated in dist/ directory
- Service Worker: Automatic caching and background updates
- Installable: Add to home screen on mobile and desktop
- Responsive: Optimized for all screen sizes
- Fast Loading: Precached resources for instant loading
- Desktop: Look for the install prompt in your browser
- Mobile: Use "Add to Home Screen" from your browser menu
- IndexedDB: Local storage for bookmarked domains and TLDs
- Browser Cache: DNS and RDAP responses cached for performance
- No Server Storage: All data remains on your device
- DNS Service: Uses Cloudflare's 1.1.1.1 DNS-over-HTTPS
- RDAP Service: Connects to official registry providers via IANA bootstrap
- Error Handling: Comprehensive error recovery and user feedback
- Caching Strategy: Intelligent caching of DNS and RDAP responses
- Code Splitting: Optimized bundle loading with vendor chunks
- Lazy Loading: Components and routes loaded on demand
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature
) - Make your changes with proper TypeScript types
- Test your changes thoroughly
- Commit with clear messages (
git commit -m 'Add: new feature'
) - Push to your branch (
git push origin feature/new-feature
) - Open a Pull Request
- Follow existing TypeScript and Vue 3 patterns
- Use the Composition API for new components
- Maintain responsive design principles
- Add proper error handling and user feedback
This project is licensed under the MIT License - see the LICENSE file for details.
- Cloudflare - DNS-over-HTTPS services
- IANA - RDAP bootstrap and registry data
- Vue.js Team - The progressive JavaScript framework
- Vite Team - Next generation frontend tooling
- TailwindCSS - Utility-first CSS framework
Built with β€οΈ for the domain community