Skip to content

yap-devs/yap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

YAP - Yet Another Panel

A modern, feature-rich network services management panel

License: MIT PHP Version Laravel React GitHub Sponsors

Features β€’ Installation β€’ Documentation β€’ Contributing β€’ Support


πŸ“– Table of Contents

πŸš€ About

YAP (Yet Another Panel) is a modern, full-featured network services management panel built with Laravel and React. It provides a comprehensive solution for managing network services, subscriptions, and user accounts with a beautiful, responsive interface.

Why YAP?

  • Modern Tech Stack: Built with Laravel 11, React 18, and Inertia.js
  • Admin-Friendly: Powerful admin panel powered by Filament
  • Payment Ready: Multiple payment gateways including Alipay and BEPUSDT
  • Monitoring: Built-in error tracking with Sentry integration
  • Scalable: Queue system and proper caching for high performance
  • Developer-Friendly: Clean code, comprehensive tests, and good documentation

✨ Features

Core Features

  • Authentication & Authorization

    • GitHub OAuth integration
    • Role-based access control
    • Secure session management
  • User Management

    • User registration and profile management
    • Subscription management with packages
    • Balance management and top-up system
    • User statistics and analytics dashboard
  • Admin Panel

    • Comprehensive admin interface (Filament)
    • User management and monitoring
    • System configuration and settings
    • Analytics and reporting tools

Network Services

  • Server Management

    • Multiple server types (Relay, Vmess)
    • Server health monitoring
    • Load balancing configuration
  • Configuration Generation

    • Clash configuration auto-generation
    • QR code generation for easy setup
    • Multiple client support

Payment & Billing

  • Payment Processing

    • Multiple payment methods (Alipay, BEPUSDT)
    • Automated billing and invoicing
    • Payment history and receipts
  • Subscription Management

    • Flexible subscription packages
    • Automatic renewal handling
    • Usage tracking and limits

Additional Features

  • Customer Support

    • Integrated customer service system
    • Ticket management
    • Live chat support
  • Monitoring & Analytics

    • Error monitoring with Sentry
    • Performance analytics
    • Usage statistics and reporting

πŸ“Έ Screenshots

🚧 Screenshots coming soon! We're working on adding visual previews of the interface.

πŸ›  Technology Stack

Backend

Technology Version Purpose
PHP 8.2+ Server-side language
Laravel 11.9+ Web framework
Filament 3.2+ Admin panel
MySQL/PostgreSQL Latest Database
Laravel Sanctum 4.0+ API authentication
Laravel Socialite 5.15+ OAuth integration

Frontend

Technology Version Purpose
React 18+ UI framework
Inertia.js 1.0+ SPA integration
Tailwind CSS 3.2+ Styling framework
Headless UI 2.0+ UI components
Vite 5.0+ Build tool
Chart.js 4.4+ Data visualization

DevOps & Monitoring

Technology Purpose
Sentry Error tracking
Ansible Deployment automation
Pest Testing framework
Laravel Telescope Debugging

πŸ“¦ Installation

Prerequisites

Before you begin, ensure you have the following installed:

  • PHP 8.2+ with required extensions (bcmath, yaml)
  • Composer (latest version)
  • Node.js 18+ and npm
  • Database (MySQL 8.0+, PostgreSQL 13+, or SQLite)
  • Web Server (Apache 2.4+ or Nginx 1.18+)

Quick Start

  1. Clone the repository

    git clone https://github.com/hldh214/yap.git
    cd yap
  2. Install PHP dependencies

    composer install --optimize-autoloader --no-dev
  3. Install Node.js dependencies

    npm install
  4. Environment setup

    cp .env.example .env
    php artisan key:generate
  5. Configure your environment

    Edit .env file with your settings:

    # Database Configuration
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=yap
    DB_USERNAME=your_username
    DB_PASSWORD=your_password
    
    # GitHub OAuth (Required)
    GITHUB_CLIENT_ID=your_github_client_id
    GITHUB_CLIENT_SECRET=your_github_client_secret
    GITHUB_REDIRECT_URI=http://localhost:8000/auth/github/callback
    
    # Optional: Sentry for error monitoring
    SENTRY_LARAVEL_DSN=your_sentry_dsn
    
    # YAP Configuration
    YAP_UNIT_PRICE=10.00
    YAP_RESET_SUBSCRIPTION_PRICE=5.00
  6. Database setup

    php artisan migrate --seed
  7. Build frontend assets

    npm run build
  8. Set proper permissions (Linux/macOS)

    sudo chown -R www-data:www-data storage bootstrap/cache
    sudo chmod -R 775 storage bootstrap/cache
  9. Create admin user

    php artisan make:filament-user
  10. Start the application

    # Development
    php artisan serve
    npm run dev
    
    # The application will be available at http://localhost:8000
    # Admin panel: http://localhost:8000/admin

βš™οΈ Configuration

GitHub OAuth Setup

  1. Go to GitHub Settings > Developer settings > OAuth Apps
  2. Create a new OAuth App with:
    • Application name: YAP
    • Homepage URL: http://your-domain.com
    • Authorization callback URL: http://your-domain.com/auth/github/callback
  3. Copy Client ID and Client Secret to your .env file

Payment Gateway Setup

Alipay Configuration

ALIPAY_APP_ID=your_app_id
ALIPAY_PRIVATE_KEY=your_private_key
ALIPAY_PUBLIC_KEY=alipay_public_key

BEPUSDT Configuration

BEPUSDT_API_KEY=your_api_key
BEPUSDT_SECRET=your_secret

πŸ“š Usage

For End Users

  1. Registration: Sign up
  2. Subscription: Choose and purchase a subscription package
  3. Configuration: Generate and download your network configuration
  4. Management: Monitor usage and manage your account

For Administrators

  1. Access Admin Panel: Visit /admin and login with admin credentials
  2. User Management: View and manage user accounts
  3. System Configuration: Configure system settings and parameters
  4. Analytics: Monitor system performance and user statistics

πŸ“– API Documentation

🚧 API documentation is coming soon! We're working on comprehensive API docs.

For now, you can explore the API endpoints in the routes/api.php file.

πŸš€ Deployment

Manual Production Setup

  1. Web Server Configuration

    • Point document root to public/ directory
    • Configure SSL certificate
    • Set up proper file permissions
  2. Environment Optimization

    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    php artisan optimize
  3. Queue Worker Setup

    # Add to supervisor or systemd
    php artisan queue:work --daemon

πŸ§ͺ Testing

Run the test suite:

# Run all tests
php artisan test

# Run with coverage
php artisan test --coverage

# Run specific test file
php artisan test tests/Feature/AuthTest.php

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and add tests
  4. Run the test suite: php artisan test
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

πŸ’¬ Support

Community Support

Commercial Support

For commercial support, custom development, or enterprise features, please contact us through GitHub Sponsors.

Sponsorship

If you find YAP useful, consider sponsoring the project:

GitHub Sponsors

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License

Copyright (c) 2024 hldh214

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

πŸ™ Acknowledgments

  • Laravel Team - For the amazing framework
  • Filament Team - For the beautiful admin panel
  • React Team - For the powerful frontend library
  • Inertia.js Team - For seamless SPA integration
  • All Contributors - Thank you for your contributions!

⬆ Back to Top

Made with ❀️ by hldh214 and contributors

About

Yet Another Panel for network services

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages