Skip to content

platfone-com/temp-number-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

51 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Temp Number Web

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.

Features

  • πŸ” 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

Tech Stack

  • 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

Prerequisites

  • Node.js >= 22.x
  • npm or yarn

Getting Started

πŸš€ Recommended: Automated Deployment

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

Temp-Number iOS guide video

Manual Installation

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 credentials

Environment Variables

Key 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

Running the Application

# Development mode (standard app)
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

The application will start at http://localhost:3300

Project Structure

β”œβ”€β”€ 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

Key Features

Authentication

Multiple authentication methods supported:

  • Email/Password registration and login
  • Telegram authentication
  • Password reset and email change functionality

Phone Number Management

  • Browse available phone numbers by country and service
  • Real-time activation status updates
  • SMS message retrieval
  • Favorites and recent numbers
  • Order history tracking

Payment Integration

  • Stripe payment processing
  • Multiple payment methods support
  • Transaction history
  • Funds management

Development

Code Style

This project uses ESLint and Prettier for code quality and formatting:

# Run linting
npm run lint

# Format code
npm run format

Type Checking

# Run TypeScript type checking
npm run type-check

Git Hooks

The project uses Husky and lint-staged for pre-commit hooks to ensure code quality.

Deployment

Docker Deployment

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-web

Production Build

The production build is optimized and served with Nginx:

# Build for production
npm run build

# The dist/ folder contains the production-ready files

Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.

Security

For security concerns, please see SECURITY.md.

License

This project is licensed under the MIT License with API Restriction Clause - see the LICENSE file for details.

Support

Acknowledgments

Built with ❀️ by the Platfone team

About

Web component of Temp-Number App

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors