Skip to content

Commit 3748c36

Browse files
author
Suliman Benhalim
committed
Initial release of the isend/laravel package v1.0.0
0 parents  commit 3748c36

File tree

18 files changed

+1915
-0
lines changed

18 files changed

+1915
-0
lines changed

.github/workflows/tests.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
php: [8.0, 8.1, 8.2, 8.3]
16+
laravel: [11.*, 12.*]
17+
dependency-version: [prefer-stable]
18+
exclude:
19+
- php: 8.0
20+
laravel: 12.*
21+
- php: 8.1
22+
laravel: 12.*
23+
24+
name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}
25+
26+
steps:
27+
- name: Checkout code
28+
uses: actions/checkout@v3
29+
30+
- name: Setup PHP
31+
uses: shivammathur/setup-php@v2
32+
with:
33+
php-version: ${{ matrix.php }}
34+
extensions: dom, curl, libxml, mbstring, zip, json
35+
coverage: none
36+
37+
- name: Install dependencies
38+
run: |
39+
composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update
40+
composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction
41+
42+
- name: Execute tests
43+
run: vendor/bin/phpunit

.gitignore

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Composer
2+
/vendor/
3+
composer.lock
4+
5+
# PHPUnit
6+
/.phpunit.cache
7+
.phpunit.result.cache
8+
phpunit.xml
9+
10+
# IDE and Editor files
11+
/.idea/
12+
/.vscode/
13+
*.sublime-project
14+
*.sublime-workspace
15+
.DS_Store
16+
Thumbs.db
17+
18+
# Laravel
19+
/node_modules
20+
/public/hot
21+
/public/storage
22+
/storage/*.key
23+
/storage/logs/*
24+
.env
25+
.env.backup
26+
.env.production
27+
.phpunit.result.cache
28+
Homestead.json
29+
Homestead.yaml
30+
auth.json
31+
npm-debug.log
32+
yarn-error.log
33+
34+
# Misc
35+
.php_cs.cache
36+
.php_cs.dist
37+
.php-cs-fixer.cache
38+
.php-cs-fixer.dist.php
39+
*.log
40+
*.cache
41+
*.bak
42+
*.swp
43+
*.swo
44+
.phpstan.neon
45+
.phpstan-baseline.neon
46+
47+
# OS specific files
48+
.DS_Store
49+
Thumbs.db

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Changelog
2+
3+
All notable changes to the `isend/laravel` package will be documented in this file.
4+
5+
## 1.0.0 - 2025-05-03
6+
7+
### Added
8+
- Initial release of the iSend SMS Laravel package
9+
- Interactive CLI setup wizard via `php artisan isend:setup` command
10+
- Support for sending SMS messages to single or multiple recipients
11+
- Scheduled message delivery functionality
12+
- Message status tracking and delivery reporting
13+
- Campaign management features
14+
- Account management (balance checking, profile info, sender IDs, transactions)
15+
- Comprehensive exception handling with detailed error information
16+
- Laravel Facade for easy integration
17+
- Full support for Laravel 11.x and 12.x
18+
- PHP 8.0+ compatibility
19+
- Complete documentation with examples
20+
21+
### Fixed
22+
- URL path handling to correctly separate base URL from API version path
23+
- Proper normalization of API paths with and without leading slashes
24+
25+
### Security
26+
- Secure API token management
27+
- Request and response logging with sensitive data masking

CONTRIBUTING.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Contributing
2+
3+
Thank you for considering contributing to the iSend SMS Laravel package! This document outlines the guidelines for contributing to this project.
4+
5+
## Code of Conduct
6+
7+
This project adheres to a standard code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [[email protected]](mailto:[email protected]).
8+
9+
## Pull Requests
10+
11+
1. Fork the repository
12+
2. Create a branch (`git checkout -b feature/amazing-feature`)
13+
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
14+
4. Push to the branch (`git push origin feature/amazing-feature`)
15+
5. Open a Pull Request
16+
17+
## Development Setup
18+
19+
1. Clone your fork of the repository
20+
2. Install dependencies:
21+
```bash
22+
composer install
23+
```
24+
3. Run tests to ensure everything is working:
25+
```bash
26+
composer test
27+
```
28+
29+
## Coding Standards
30+
31+
This package follows the PSR-12 coding standard and the PSR-4 autoloading standard.
32+
33+
You can check the code style with:
34+
```bash
35+
composer format
36+
```
37+
38+
And analyze the code with:
39+
```bash
40+
composer analyse
41+
```
42+
43+
## Testing
44+
45+
The package includes a test suite that you can run with:
46+
```bash
47+
composer test
48+
```
49+
50+
Please make sure your code passes all tests, and add new tests for new features.
51+
52+
## Documentation
53+
54+
If your changes include functionality that should be documented, please update the README.md file.
55+
56+
## Version Control
57+
58+
- Follow [Semantic Versioning](https://semver.org/)
59+
- Use descriptive commit messages
60+
- Reference issues and pull requests in commit messages when applicable
61+
62+
Thank you for your contributions!

LICENSE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# MIT License
2+
3+
Copyright (c) 2025 Suliman Benhalim
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)