A modern, feature-rich network services management panel
Features β’ Installation β’ Documentation β’ Contributing β’ Support
- About
- Features
- Screenshots
- Technology Stack
- Installation
- Configuration
- Usage
- API Documentation
- Deployment
- Testing
- Contributing
- Support
- License
- Acknowledgments
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.
- 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
-
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
-
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 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
-
Customer Support
- Integrated customer service system
- Ticket management
- Live chat support
-
Monitoring & Analytics
- Error monitoring with Sentry
- Performance analytics
- Usage statistics and reporting
π§ Screenshots coming soon! We're working on adding visual previews of the interface.
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 |
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 |
Technology | Purpose |
---|---|
Sentry | Error tracking |
Ansible | Deployment automation |
Pest | Testing framework |
Laravel Telescope | Debugging |
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+)
-
Clone the repository
git clone https://github.com/hldh214/yap.git cd yap
-
Install PHP dependencies
composer install --optimize-autoloader --no-dev
-
Install Node.js dependencies
npm install
-
Environment setup
cp .env.example .env php artisan key:generate
-
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
-
Database setup
php artisan migrate --seed
-
Build frontend assets
npm run build
-
Set proper permissions (Linux/macOS)
sudo chown -R www-data:www-data storage bootstrap/cache sudo chmod -R 775 storage bootstrap/cache
-
Create admin user
php artisan make:filament-user
-
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
- Go to GitHub Settings > Developer settings > OAuth Apps
- 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
- Application name:
- Copy Client ID and Client Secret to your
.env
file
ALIPAY_APP_ID=your_app_id
ALIPAY_PRIVATE_KEY=your_private_key
ALIPAY_PUBLIC_KEY=alipay_public_key
BEPUSDT_API_KEY=your_api_key
BEPUSDT_SECRET=your_secret
- Registration: Sign up
- Subscription: Choose and purchase a subscription package
- Configuration: Generate and download your network configuration
- Management: Monitor usage and manage your account
- Access Admin Panel: Visit
/admin
and login with admin credentials - User Management: View and manage user accounts
- System Configuration: Configure system settings and parameters
- Analytics: Monitor system performance and user statistics
π§ 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.
-
Web Server Configuration
- Point document root to
public/
directory - Configure SSL certificate
- Set up proper file permissions
- Point document root to
-
Environment Optimization
php artisan config:cache php artisan route:cache php artisan view:cache php artisan optimize
-
Queue Worker Setup
# Add to supervisor or systemd php artisan queue:work --daemon
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
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes and add tests
- Run the test suite:
php artisan test
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Telegram: yap_devs - Join our community chat
- GitHub Issues: Report bugs or request features
- GitHub Discussions: Ask questions and share ideas
For commercial support, custom development, or enterprise features, please contact us through GitHub Sponsors.
If you find YAP useful, consider sponsoring the project:
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.
- 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!
Made with β€οΈ by hldh214 and contributors