chore(docs): update README.md
This commit is contained in:
233
README.md
233
README.md
@@ -1,42 +1,233 @@
|
|||||||
# 📩 iSMS - Temporary SMS Receiver
|
# 🚀 Laravel Filament Admin Starter Kit
|
||||||
|
|
||||||
A Laravel-based web application that allows users to receive SMS messages online via temporary phone numbers. Useful for testing or anonymous verification.
|
A pre-configured **Laravel Admin Panel Starter Kit** built with [Livewire Starter Kit](https://github.com/laravel-livewire/starter-kit) and powered by [FilamentPHP](https://filamentphp.com/).
|
||||||
|
|
||||||
|
Ideal for developers who want to skip boilerplate setup and jump straight into building robust admin dashboards, with essential tools and permissions already in place.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🚀 Features
|
## ⚡ Features at a Glance
|
||||||
|
|
||||||
* 📱 Temporary phone numbers (dynamic or pre-defined)
|
* ✅ Livewire Starter Kit foundation
|
||||||
* 📨 Real-time SMS receiving and display
|
* ✅ Elegant UI with **FilamentPHP**
|
||||||
* 🛠 Admin panel for managing numbers and messages
|
* ✅ Filament Panel configurable via `.env`
|
||||||
* 🔒 Basic spam protection and rate limiting
|
* ✅ Roles & Permissions (Spatie)
|
||||||
* 📊 Logs and analytics (optional)
|
* ✅ Activity Logging
|
||||||
|
* ✅ Mail & Log Viewer
|
||||||
|
* ✅ Code quality with **RectorPHP**
|
||||||
|
* ✅ Authentication with default seeded admin
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🧰 Tech Stack
|
## 📂 Admin Panel Access
|
||||||
|
|
||||||
* **Framework:** Laravel 12+
|
* **Panel ID:** `dash`
|
||||||
* **Database:** MySQL
|
* **Admin Route:** `/dash` (configurable)
|
||||||
* **Frontend:** Blade / Tailwind CSS
|
* **Default Admin Credentials:**
|
||||||
* **Real-time:** Laravel Echo + Pusher (optional)
|
|
||||||
* **Queue:** Redis / Database queues
|
| Email | Password |
|
||||||
|
| ------------------- | ---------- |
|
||||||
|
| `admin@example.com` | `password` |
|
||||||
|
|
||||||
|
> ⚠️ **Change these credentials before deploying to production.**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🔐 Security Notes
|
## ⚙️ Environment Configuration
|
||||||
|
|
||||||
* Do not use this in production without proper rate-limiting & abuse prevention.
|
All major features are easily configurable using environment variables:
|
||||||
* Use HTTPS and secure access to the admin panel.
|
|
||||||
|
```env
|
||||||
|
# Filament Admin Panel
|
||||||
|
FILAMENT_ROUTE=dash
|
||||||
|
FILAMENT_ENABLE_LOGIN=true
|
||||||
|
FILAMENT_ENABLE_REGISTER=false
|
||||||
|
FILAMENT_ENABLE_PROFILE=false
|
||||||
|
|
||||||
|
# Activity Logger
|
||||||
|
ACTIVITY_LOGGER_ENABLED=true
|
||||||
|
ACTIVITY_LOGGER_TABLE_NAME=activity_log
|
||||||
|
|
||||||
|
# Log Viewer
|
||||||
|
FILAMENT_LOG_VIEWER_DRIVER=raw
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📄 License
|
## 🎨 Filament Panel Configuration
|
||||||
|
|
||||||
This project is open-source under the [MIT License](LICENSE).
|
The Filament admin panel's appearance and basic behaviors are defined in `config/filament-php.php`:
|
||||||
|
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Filament\Support\Colors\Color;
|
||||||
|
|
||||||
|
return [
|
||||||
|
'route' => env('FILAMENT_ROUTE', 'dash'),
|
||||||
|
|
||||||
|
'colors' => [
|
||||||
|
'primary' => Color::Teal,
|
||||||
|
'danger' => Color::Red,
|
||||||
|
'gray' => Color::Zinc,
|
||||||
|
'info' => Color::Blue,
|
||||||
|
'success' => Color::Green,
|
||||||
|
'warning' => Color::Amber,
|
||||||
|
],
|
||||||
|
|
||||||
|
'enable_login' => env('FILAMENT_ENABLE_LOGIN', true),
|
||||||
|
'enable_registration'=> env('FILAMENT_ENABLE_REGISTER', false),
|
||||||
|
'enable_profile' => env('FILAMENT_ENABLE_PROFILE', false),
|
||||||
|
];
|
||||||
|
```
|
||||||
|
|
||||||
|
You can easily override the route, theming colors, and feature toggles via `.env`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 👨💻 Contributing
|
## 🔐 Roles & Permissions
|
||||||
|
|
||||||
Feel free to fork the repo and submit PRs. Bug reports and feature suggestions are welcome!
|
This starter kit uses [Spatie Laravel Permission](https://spatie.be/docs/laravel-permission) with the following default setup:
|
||||||
|
|
||||||
|
### 👤 Roles
|
||||||
|
|
||||||
|
* `admin` – Full control, including access to logs and mails
|
||||||
|
* `user` – No permissions assigned by default
|
||||||
|
|
||||||
|
### 🔑 Permissions
|
||||||
|
|
||||||
|
The `admin` role is granted the following permissions:
|
||||||
|
|
||||||
|
* `manage mails`
|
||||||
|
* `manage panels`
|
||||||
|
|
||||||
|
These are assigned in the `RoleSeeder` class:
|
||||||
|
|
||||||
|
```php
|
||||||
|
class RoleSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
$role = Role::findOrCreate(name: 'admin', guardName: 'web');
|
||||||
|
Role::findOrCreate(name: 'user', guardName: 'web');
|
||||||
|
|
||||||
|
$permissionManageMails = Permission::findOrCreate(name: 'manage mails', guardName: 'web');
|
||||||
|
$role->givePermissionTo($permissionManageMails);
|
||||||
|
|
||||||
|
$permissionManageFilamentPanel = Permission::findOrCreate(name: 'manage panels', guardName: 'web');
|
||||||
|
$role->givePermissionTo($permissionManageFilamentPanel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
> ✅ You can expand this by adding more roles and permissions via the Filament UI or custom seeders.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📨 Mail Viewer
|
||||||
|
|
||||||
|
View all outgoing mail inside the Filament admin panel — ideal for local and staging environments.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🪵 Log Viewer
|
||||||
|
|
||||||
|
Filament Log Viewer is pre-configured to use the `raw` driver:
|
||||||
|
|
||||||
|
```env
|
||||||
|
FILAMENT_LOG_VIEWER_DRIVER=raw
|
||||||
|
```
|
||||||
|
|
||||||
|
View and analyze application logs from the admin panel.
|
||||||
|
For advanced configuration, see the [Log Viewer docs](https://github.com/ryangjchandler/filament-log).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🕵️ Activity Logger
|
||||||
|
|
||||||
|
Tracks user actions and stores them in the `activity_log` table (or custom name via `.env`):
|
||||||
|
|
||||||
|
```env
|
||||||
|
ACTIVITY_LOGGER_ENABLED=true
|
||||||
|
ACTIVITY_LOGGER_TABLE_NAME=activity_log
|
||||||
|
```
|
||||||
|
|
||||||
|
More configuration options available in [Spatie’s documentation](https://spatie.be/docs/laravel-activitylog).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧼 Automated Refactoring with Rector
|
||||||
|
|
||||||
|
The root of the project includes a pre-configured `rector.php` file.
|
||||||
|
This allows for auto-refactoring and upgrading code to Laravel best practices.
|
||||||
|
|
||||||
|
### ➕ Run Rector:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
vendor/bin/rector
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/your-org/admin-starter-kit.git your-project
|
||||||
|
cd your-project
|
||||||
|
|
||||||
|
composer install
|
||||||
|
cp .env.example .env
|
||||||
|
php artisan key:generate
|
||||||
|
```
|
||||||
|
|
||||||
|
Update your `.env` with database and mail configuration:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
php artisan migrate --seed
|
||||||
|
npm install && npm run dev
|
||||||
|
php artisan serve
|
||||||
|
```
|
||||||
|
|
||||||
|
Visit: [http://localhost:8000/dash](http://localhost:8000/dash) (or your configured route)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📁 Key Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
├── config/
|
||||||
|
│ ├── filament.php # Filament core settings
|
||||||
|
│ ├── filament-php.php # UI theming + custom toggles
|
||||||
|
│ ├── activitylog.php # Activity log config
|
||||||
|
├── database/
|
||||||
|
│ └── seeders/FilamentAdminSeeder.php
|
||||||
|
│ └── seeders/RoleSeeder.php
|
||||||
|
├── rector.php # Rector config
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🤝 Contributing
|
||||||
|
|
||||||
|
Contributions are welcome. Feel free to fork, submit issues or create pull requests.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛡 License
|
||||||
|
|
||||||
|
Open-sourced under the [MIT license](LICENSE).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🙏 Credits
|
||||||
|
|
||||||
|
* [Laravel](https://laravel.com)
|
||||||
|
* [Livewire Starter Kit](https://github.com/laravel-livewire/starter-kit)
|
||||||
|
* [FilamentPHP](https://filamentphp.com/)
|
||||||
|
* [Spatie Permissions](https://github.com/spatie/laravel-permission)
|
||||||
|
* [Spatie Activity Log](https://spatie.be/docs/laravel-activitylog)
|
||||||
|
* [Filament Log Viewer](https://github.com/ryangjchandler/filament-log)
|
||||||
|
* [Filament Mail Viewer](https://github.com/ryangjchandler/filament-mail)
|
||||||
|
* [RectorPHP](https://getrector.com)
|
||||||
|
|
||||||
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user