helwy / tayar
Laravel Jetstream on Fesikh.
Requires
- php: ^8.2.0
- ext-json: *
- illuminate/console: ^11.0
- illuminate/support: ^11.0
- laravel/fortify: ^1.20
- mobiledetect/mobiledetectlib: ^4.8
- symfony/console: ^7.0
Requires (Dev)
- inertiajs/inertia-laravel: ^1.0
- laravel/sanctum: ^4.0
- livewire/livewire: ^3.3
- mockery/mockery: ^1.0
- orchestra/testbench: ^9.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.4
- 5.x-dev
- v5.3.3.1
- v5.3.3.0
- v5.3.2
- v5.3.1
- v5.3.0
- v5.2.1
- v5.2.0
- v5.1.5
- v5.1.4
- v5.1.3
- v5.1.2
- v5.1.1
- v5.1.0
- v5.0.5
- v5.0.4
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v4.3.1
- v4.3.0
- v4.2.2
- v4.2.1
- v4.2.0
- v4.1.2
- v4.1.1
- v4.1.0
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.3.3
- v3.3.2
- v3.3.1
- v3.3.0
- v3.2.5
- v3.2.4
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.2
- v3.0.1
- v3.0.0
- v2.16.2
- v2.16.1
- v2.16.0
- v2.15.0
- v2.14.1
- v2.14.0
- v2.13.1
- v2.13.0
- v2.12.6
- v2.12.5
- v2.12.4
- v2.12.3
- v2.12.2
- v2.12.1
- v2.12.0
- v2.11.2
- v2.11.1
- v2.11.0
- v2.10.3
- v2.10.2
- v2.10.1
- v2.10.0
- v2.9.0
- v2.8.5
- v2.8.4
- v2.8.3
- v2.8.2
- v2.8.1
- v2.8.0
- v2.7.5
- v2.7.4
- v2.7.3
- v2.7.2
- v2.7.1
- v2.7.0
- v2.6.8
- v2.6.7
- v2.6.6
- v2.6.5
- v2.6.4
- v2.6.3
- v2.6.2
- v2.6.1
- v2.6.0
- v2.5.1
- v2.5.0
- v2.4.4
- v2.4.3
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.16
- v2.3.15
- v2.3.14
- v2.3.13
- v2.3.12
- v2.3.11
- v2.3.10
- v2.3.9
- v2.3.8
- v2.3.7
- v2.3.6
- v2.3.5
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.7
- v1.6.6
- v1.6.5
- v1.6.4
- v1.6.3
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.1
- v1.4.0
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.2
- v1.0.1
- v1.0.0
- v0.7.3
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
This package is auto-updated.
Last update: 2025-03-10 19:43:05 UTC
README
Tayar - تيار
Introduction - المقدمة
Tayar is Laravel Jetstream on Fesikh. It is a fork that adds some important enhancements that are not supported out of the box and can take time when setting projects up. This should help you avoid wasting several hours implementing these needed features for every new project you create.
Please note that this mainly focuses on the Inertia (Vue.js) stack at the moment with some but not full attention given to the Livewire side, though it can arguably be a better starting point than Jetstream for Livewire projects if you still need the features listed.
Features - الخصائص
- Localisation support using
laravel-vue-i18n
, with English and Arabic translations included out of the box. - Supports right-to-left (RTL) layouts for specified languages.
- "All or Essential only" cookies consent modal.
- Language switcher in the top navigation bar, persisted in a cookie and user database.
- Dark mode support and toggle in top bar, persisted in a cookie and user database.
- Admin boolean for users, and dashboard / control panel only accessible to them.
- Admin layout with a fixed top navigation bar and a fixed sidebar. Unified navigation items variable.
- Frontend layout template.
- Adjustments to make Arabic text look better in the UI, and to make the frontend default layout more suitable for the added features, such as dark mode toggle and language switcher.
Installation - التثبيت
Start with creating a new Laravel project:
composer create-project laravel/laravel tayar-app
cd tayar-app
composer require helwy/tayar
There are multiple different configurations for the default jetstream installation, you can find more about it here, but for the one mainly used while developing this fork, I install with Inertia (Vue 3) and Dark mode support.
php artisan jetstream:install inertia --dark
Finalise the installation
npm install npm run build php artisan migrate
Then serve your application
php artisan serve
Usage - الاستخدام
- Available Locales - The available locales are defined in the
config/jetstream.php
file using the theavailable_locales
key in the Tayar configurations section. You can add or remove locales from there. When you add an unsupported locale (doesn't have a translation file yet), you will have to create the translation files for it in theresources/lang
directory. The default locales are English and Arabic. - RTL Layout Support - In order to use the RTL layout for certain langauges, go to the
config/jetstream.php
and look for thertl_locales
key in the Tayar configurations section. Add or removes the locales you want to support RTL for in this array. The default is only Arabic.
Versioning - الإصدارات
Tayar will be matching and updating with the latest Laravel Jetstream version, with the added features and enhancements. The versioning will be following the Laravel Jetstream versioning, with one extra number for the Tayar versioning. For example, Laravel Jetstream v5.3.3 will be Tayar v5.3.3.0.
Important Links - الروابط المهمة
- Laravel Documentation
- Laravel Jetstream Documentation
- Laravel GitHub Repository
- Laravel Jetstream GitHub Repository
FAQ - الأسئلة الشائعة
- What to do if I don't want to have multiple locales?
- By keeping only one locale in the
available_locales
array in configuration, the language switcher will not be displayed in the UI, and you won't have to worry too much about localisation, though I would advise to keep using the localisation files for any static text in your application to make it easier to localise in the future if needed.
- What if I don't need RTL languages?
- Keeping the
rtl_locales
in the configuration file as an empty array will not use RTL layout for any language. You may also remove thertl
class check in theapp.blade.php
body element classes, but that is optional.
- How can I make the cookie modal only appear for users in countries that require me to ask for consent?
- You are what is wrong with this world.
Roadmap - التخطيط
In no particular order, the following are some of the planned features and enhancements for Tayar:
- Improvements to the Arabic localisation file.
- More localisation files for other languages to be included.
- Look into general user experience improvements.
- Users list in the admin dashboard.
- Option to change user full name field to first name and last name.
- Notifications for users.
- Tests for the added features.
Contact - التواصل
If you have any questions or need help with anything, feel free to contact me at hassanelwy@gmail.com. If you have any issues or suggestions, please open an issue on the GitHub repository.
Contributing - المساهمة
If you would like to contribute to Tayar, please fork the repository and submit a pull request. Your contributions would be highly appreciated. You can also open an issue if you have any suggestions or issues.
License - الترخيص
Tayar is open-sourced software licensed under the MIT license.
Tayar uses icons from Hero Icons which are licensed under the MIT license.