Never lose a domain again! DomainPing provides comprehensive domain renewal reminders through multiple channels.
- 📅 Smart Reminders: Notifications at 90, 30, 14, 7, 3, and 1 days before expiration
- 📧 Email Notifications: Customizable email alerts
- 🖥️ Desktop Notifications: Native OS notifications
- 📱 SMS Alerts: Optional SMS notifications via Twilio
- 🌐 Web Dashboard: Beautiful interface to manage domains
- 🔍 WHOIS Integration: Automatic expiration date verification
- 📊 Analytics: Track renewal history and costs
- 🔄 Auto-sync: Periodic checks for domain status updates
- Python 3.8+
- Node.js 16+
- npm
- Clone the repository:
git clone <repository-url>
cd domainping- Run the startup script:
./start.shThe script will:
- Check dependencies
- Create
.envfile from template (if needed) - Install backend and frontend dependencies
- Start both services automatically
- Access the application:
- 🌐 Frontend Dashboard: http://localhost:3000
- 📊 Backend API: http://localhost:8000
- 📚 API Documentation: http://localhost:8000/docs
If you prefer manual setup:
- Setup backend:
cd backend
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt- Setup frontend:
cd frontend
npm install- Configure environment:
cp env.example .env
# Edit .env with your settings- Run services:
# Terminal 1 - Backend
cd backend
source venv/bin/activate
python main.py
# Terminal 2 - Frontend
cd frontend
npm startEdit .env file:
# Email Settings
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=your-email@gmail.com
SMTP_PASSWORD=your-app-password
# Twilio (Optional)
TWILIO_ACCOUNT_SID=your-sid
TWILIO_AUTH_TOKEN=your-token
TWILIO_PHONE_NUMBER=+1234567890
# Database
DATABASE_URL=sqlite:///domains.db
# Notification Settings
DEFAULT_REMINDER_DAYS=90,30,14,7,3,1- Add Domains: Use the web interface to add your domains
- Set Preferences: Configure notification preferences
- Monitor: DomainPing runs automatically in the background
- Renew: Get timely reminders and never miss a renewal
- AWS S3 + CloudFront (Recommended - Enterprise-grade)
- Fly.io (Cost-effective - Backend)
- Railway (Easiest - Full Stack)
- Vercel (Frontend only)
Deploy AWS infrastructure automatically with Terraform:
# One-command deployment
./iac/deploy.sh deployThis creates:
- S3 bucket for frontend hosting
- CloudFront distribution for global CDN
- IAM user for GitHub Actions
- Optional custom domain setup
📖 Detailed deployment guides: deploy/ 🏗️ Infrastructure setup: iac/
├── backend/ # FastAPI backend
│ ├── app/
│ │ ├── models/ # Database models
│ │ ├── services/ # Business logic
│ │ ├── api/ # API endpoints
│ │ └── tasks/ # Background tasks
│ └── main.py
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ └── services/
│ └── package.json
├── iac/ # Infrastructure as Code
│ ├── terraform/ # Terraform configurations
│ └── deploy.sh # Automated deployment
├── deploy/ # Deployment guides
└── docs/ # Documentation
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT License - see LICENSE file for details.