A modern Vue.js web application that provides a user-friendly interface for managing temporary phone numbers for SMS verification. It offers seamless authentication, real-time number activation and payment processing.
- π Authentication with Firebase (Email, Telegram, OAuth)
- π± Real-time temporary phone number management
- π³ Payment processing (Stripe integration)
- π Internationalization (i18n) support
- π Transaction history and active numbers tracking
- π Real-time status updates
- π± Responsive design for mobile and desktop
- β‘ Fast and optimized with Vite
- Framework: Vue 3 (Composition API)
- Language: TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS v4
- State Management: Pinia
- Routing: Vue Router
- Form Validation: Vee-Validate + Yup
- Authentication: Firebase Auth
- Payment: Stripe.js
- Internationalization: Vue I18n
- HTTP Client: Axios
- Node.js >= 22.x
- npm or yarn
The easiest way to get started is using our temp-number-deploy repository, which provides automated deployment scripts for the complete stack (MySQL, Backend, Web UI):
- Production: Google Cloud deployment with automated setup
- Local Development: Docker Compose environment with one command
π Go to temp-number-deploy β
βΆ Watch the guide on YouTube
For manual setup or custom configurations:
# Clone the repository
git clone https://github.com/platfone-com/temp-number-web.git
cd temp-number-web
# Install dependencies
npm install
# Copy environment variables
cp .env.example .env
# Configure your .env file with required credentialsKey environment variables to configure:
# Firebase Configuration
VITE_FIREBASE_WEB_API_KEY=your_firebase_web_api_key
VITE_FIREBASE_AUTH_DOMAIN=your-app.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_APP_ID=your_app_id
# API Configuration
VITE_TEMP_NUMBER_BACKEND_API_BASE_PATH=https://api.yourdomain.com
VITE_TEMP_NUMBER_FRONTEND_BASE_APP_URL=https://yourdomain.com/app
# Payments Configuration
VITE_TEMP_NUMBER_WEB_ENABLED_PAYMENT_GATEWAYS=['your_payment_gateway']
# Other params
VITE_TELEGRAM_BOT_ID=your_bot_id
VITE_RECAPTCHA_ENTERPRISE_ENABLED=1
VITE_RECAPTCHA_ENTERPRISE_SITE_KEY=google_recaptcha_key
VITE_CDN_BASE_URL=your_cdn_url
VITE_ALIPAY_QQ_WECHAT_STORE_URL=your_store_url
VITE_CRISP_WEBSITE_ID=your_crisp_website_id
VITE_CSP_ENABLED=0# Development mode (standard app)
npm run dev
# Build for production
npm run build
# Preview production build
npm run previewThe application will start at http://localhost:3300
βββ src/
β βββ assets/ # Static assets (images, CSS)
β βββ components/ # Vue components
β β βββ Activation/ # Number activation components
β β βββ Auth/ # Authentication components
β β βββ Funds/ # Payment and funds management
β β βββ Help/ # Help and support components
β β βββ Layout/ # Layout components
β β βββ Modals/ # Modal dialogs
β β βββ Numbers/ # Phone number management
β β βββ Order/ # Order processing
β β βββ Shared/ # Shared/reusable components
β βββ composables/ # Vue composables (reusable logic)
β β βββ api/ # API composables
β β βββ wl/ # White-label composables
β βββ directives/ # Custom Vue directives
β βββ layouts/ # Page layouts
β βββ router/ # Vue Router configuration
β βββ services/ # External services (Firebase, i18n)
β βββ stores/ # Pinia stores (state management)
β βββ types/ # TypeScript type definitions
β βββ utils/ # Utility functions
β βββ views/ # Page components
β βββ App.vue # Root component
β βββ main.ts # Application entry point
β βββ config.ts # App configuration
βββ public/ # Public static files
βββ docs/ # Documentation
βββ Dockerfile # Docker configuration
βββ nginx.conf # Nginx configuration for deployment
βββ vite.config.ts # Vite configuration
βββ tsconfig.json # TypeScript configuration
Multiple authentication methods supported:
- Email/Password registration and login
- Telegram authentication
- Password reset and email change functionality
- Browse available phone numbers by country and service
- Real-time activation status updates
- SMS message retrieval
- Favorites and recent numbers
- Order history tracking
- Stripe payment processing
- Multiple payment methods support
- Transaction history
- Funds management
This project uses ESLint and Prettier for code quality and formatting:
# Run linting
npm run lint
# Format code
npm run format# Run TypeScript type checking
npm run type-checkThe project uses Husky and lint-staged for pre-commit hooks to ensure code quality.
This application is containerized for easy deployment:
# Build Docker image
docker build -t temp-number-web .
# Run container
docker run -p 80:80 temp-number-webThe production build is optimized and served with Nginx:
# Build for production
npm run build
# The dist/ folder contains the production-ready files- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
We welcome contributions! Please see CONTRIBUTING.md for details.
For security concerns, please see SECURITY.md.
This project is licensed under the MIT License with API Restriction Clause - see the LICENSE file for details.
- π§ Email: support@platfone.com
- π Issues: GitHub Issues
- π Documentation: platfone.com/docs
Built with β€οΈ by the Platfone team