Core
| Layer | Technology | Version |
|---|---|---|
| Language | PHP | 7.2 |
| Framework | Laravel | 5.7 |
| Database | MySQL | 5.7 |
| Cache & sessions | Redis | Latest (via Predis client 1.1) |
| Web server | Nginx | Alpine |
| App server | PHP-FPM | 7.2-alpine3.11 |
| Containerization | Docker | docker-compose |
Authentication
Custom Redis token guard — not Laravel Passport or Sanctum. See Authentication for details.| Package | Purpose |
|---|---|
predis/predis ^1.1 | Redis client for session token storage |
web-token/jwt-framework ^2.1 | JWT token handling |
Payments
| Package | Purpose |
|---|---|
stripe/stripe-php ^7.2 | Payment processing, subscriptions, Connect payouts, billing portal |
Identity & verification
| Package | Purpose |
|---|---|
onfido/api-php-client ^4.1.3 | Identity document verification |
yoti/yoti-php-sdk ^3.1 | Identity verification (alternative provider) |
Communication
| Package | Purpose |
|---|---|
twilio/sdk ^6.9 | SMS phone number verification via Verify V2 |
| APNS (native) | iOS push notifications |
| FCM (native) | Android push notifications |
| SMTP / Mailgun | Transactional email |
Google services
| Package | Purpose |
|---|---|
google/apiclient ^2.12 | Calendar sync, OAuth2 |
| Google Maps API (via Guzzle) | Geocoding, reverse geocoding, postcode lookup |
File & media processing
| Package | Purpose |
|---|---|
league/flysystem-aws-s3-v3 ^1.0 | AWS S3 file storage |
intervention/image ^2.4 | Image processing and manipulation |
php-ffmpeg/php-ffmpeg ^0.13.0 | Video processing |
Utilities
| Package | Purpose |
|---|---|
guzzlehttp/guzzle ^6.3 | HTTP client for external API calls |
calebporzio/parental 0.9 | Model inheritance (Tutor extends User) |
anthonymartin/geo-location ~1.0 | Geolocation calculations |
justbetter/laravel-pagination-with-havings ^1.0 | Pagination with HAVING clauses |
phlak/semver 3.2.0 | Semantic versioning |
doctrine/dbal ^2.9 | Database abstraction (used for migration column modifications) |
fideloper/proxy ~4.0 | Trusted proxy handling |
Dev dependencies
| Package | Purpose |
|---|---|
phpunit/phpunit ~7.4 | Testing framework |
mockery/mockery ~1.0 | Mocking library |
fzaninotto/faker ~1.4 | Test data generation |
friendsofphp/php-cs-fixer ~2.12 | Code style enforcement |
mpociot/laravel-apidoc-generator ^3.17 | API documentation generation |
filp/whoops ~2.0 | Error page handler |
Frontend assets (minimal)
Used primarily for email templates, not a full frontend:| Package | Purpose |
|---|---|
laravel-mix ^1.0 | Webpack wrapper for asset compilation |
vue ^2.5.7 | Frontend framework (email template components) |
bootstrap-sass ^3.3.7 | CSS framework |
axios ^0.17 | HTTP client |