6.0 KiB
6.0 KiB
Timebank.cc Library Reference Guide
This document categorizes all packages and libraries used in the Timebank.cc application by importance and customization level.
Critical Core Libraries
Essential for application functionality - removing these would break core features
Backend (PHP/Laravel)
- laravel/framework (^10.0) - Application foundation
- livewire/livewire (^3.0) - Reactive UI components, central to frontend architecture
- laravel/jetstream (^4.0) - Authentication, teams, profile management
- Customized:
app/Overrides/Laravel/Jetstream/Src/HasProfilePhoto.php- Modified to handle multiple profile types and default images per profile type
- Customized:
- laravel/fortify (^1.21) - Authentication backend for Jetstream
- laravel/scout (^10.6) - Search abstraction layer
- matchish/laravel-scout-elasticsearch (^7.5) - Elasticsearch integration
- Customized:
app/Overrides/Matchish/ScoutElasticSearch/ElasticSearch/EloquentHitsIteratorAggregate.php- Modified to merge highlights into search results
- Customized:
- spatie/laravel-permission (^6.0) - Role-based access control for multi-profile system
Frontend
- alpinejs (^3.14.3) - Client-side reactivity, used extensively throughout UI
- tailwindcss (^3.4.7) - Primary CSS framework
- @yaireo/tagify (^4.17.8) - Skill tagging system interface
- laravel-echo (^1.19.0) + pusher-js (^7.6.0) - Real-time communication foundation
Important Feature Libraries
Significant functionality - removing would disable major features
Backend
- laravel/reverb (@beta) - WebSocket server for real-time messaging
- namu/wirechat (^0.2.10) - Chat/messaging system
- Customized: Configured for multi-guard authentication in
config/wirechat.php
- Customized: Configured for multi-guard authentication in
- cviebrock/eloquent-taggable (^10.0) - Tagging system backbone
- Extended: Custom
Tagmodel with locale support viaTaggableWithLocaletrait
- Extended: Custom
- cybercog/laravel-love (^10.0) - Reaction system (stars, bookmarks)
- mcamara/laravel-localization (^2.0) - Multi-language routing and localization
- stevebauman/location (^6.6) - IP-based location detection
- spatie/laravel-activitylog (^4.7) - User activity tracking
Frontend
- wireui/wireui (^2.0) - Pre-built Tailwind components
- Customized: Extensive published views in
resources/views/vendor/wireui/
- Customized: Extensive published views in
- @tailwindcss/forms (^0.5.3) - Form styling foundation
- vite (^6.3.5) - Modern asset bundling and development server
Supporting Libraries
Enhance functionality but not critical for core operations
Backend
- maatwebsite/excel (^3.1) - Export functionality
- dompdf/dompdf (^3.0) - PDF generation
- spatie/laravel-medialibrary (^11.0.0) - File upload management
- robsontenorio/mary (^1.35) - Additional UI components
- propaganistas/laravel-phone (^5.0) - Phone number validation
- simplesoftwareio/simple-qrcode (~4) - QR code generation
- enflow/laravel-social-share (^3.3) - Social media sharing links generation
Frontend
- @fortawesome/fontawesome-free (^6.2.1) - Icon library
- datatables.net (^2.3.2) - Data table functionality
- bootstrap (^4.6.2) - Legacy CSS framework (being phased out)
- dayjs (^1.11.13) - Date manipulation
- toastr (^2.1.4) - Notification system
Custom Extensions & Helpers
Custom Helper Classes
- TimeFormat.php - Time formatting functions (
tbFormat(),dbFormat(),hoursAndMinutes())- Critical for time-based currency display
- StyleHelper.php - Tailwind to hex color conversion (
tailwindColorToHex())- Essential for dynamic color generation
- SearchOptimizationHelper.php - Advanced search optimization with location-based boosting
- Enhances Elasticsearch results with custom scoring
- ProfileHelper.php, AuthHelper.php, StringHelper.php - Core utilities
Custom Traits
- SwitchGuardTrait - Multi-profile authentication switching
- TaggableWithLocale - Extends eloquent-taggable for multi-language support
- HasPresence - Real-time presence tracking
- AccountInfoTrait, ProfilePermissionTrait - Profile-specific functionality
Development & Build Tools
Build System
- vite (^6.3.5) - Modern asset bundling and development server (primary)
- sass (^1.56.1) - CSS preprocessing
- autoprefixer (^10.4.20) - CSS vendor prefixing
Development
- barryvdh/laravel-debugbar (^3.7) - Development debugging
- laradumps/laradumps (^2.2) - Enhanced debugging
- spatie/laravel-web-tinker (^1.8) - Browser-based REPL
Legacy & Migration Dependencies
Phase-out Candidates
- bootstrap (^4.6.2) - Being replaced by Tailwind CSS
- jquery (via Bootstrap) - Being replaced by Alpine.js
Specialized Libraries
- staudenmeir/* packages - Advanced Eloquent relationship handling
- orangehill/iseed (^3.0) - Database seeding from existing data
- pear/text_languagedetect (^1.0) - Automatic language detection
Configuration Notes
Excluded from Autoloading
Two vendor classes are excluded and overridden:
vendor/laravel/jetstream/src/HasProfilePhoto.phpvendor/matchish/laravel-scout-elasticsearch/src/ElasticSearch/EloquentHitsIteratorAggregate.php
Key Customizations
- Multi-guard Authentication: WireChat configured for 4 guard types
- Search Enhancement: Custom search optimization with location boosting
- Tagging System: Extended with locale support and category hierarchies
- Profile Photos: Modified for multiple profile types with different defaults
- Time Formatting: Custom currency formatting for time-based transactions
Importance for New Features
Must Understand
- Livewire component architecture
- Multi-profile authentication system
- Tagging and categorization system
- Search optimization patterns
Can Ignore Initially
- Legacy Bootstrap components
- Excel export functionality
- PDF generation
- QR code features
Critical for Real-time Features
- Laravel Reverb configuration
- WireChat integration
- Presence tracking system
- Echo/Pusher setup