Member Since 5 Years Ago
3,740 experience to go until the next level!
In case you were wondering, you earn Laracasts experience when you:
Earned once you have completed your first Laracasts lesson.
Earned once you have earned your first 1000 experience points.
Earned when you have been with Laracasts for 1 year.
Earned when you have been with Laracasts for 2 years.
Earned when you have been with Laracasts for 3 years.
Earned when you have been with Laracasts for 4 years.
Earned when you have been with Laracasts for 5 years.
Earned when at least one Laracasts series has been fully completed.
Earned after your first post on the Laracasts forum.
Earned once 100 Laracasts lessons have been completed.
Earned once you receive your first "Best Reply" award on the Laracasts forum.
Earned if you are a paying Laracasts subscriber.
Earned if you have a lifetime subscription to Laracasts.
Earned if you share a link to Laracasts on social media. Please email [email protected] with your username and post URL to be awarded this badge.
Earned once you have achieved 500 forum replies.
Earned once your experience points passes 100,000.
Earned once your experience points hits 10,000.
Earned once 1000 Laracasts lessons have been completed.
Earned once your "Best Reply" award count is 100 or more.
Earned once your experience points passes 1 million.
Earned once your experience points ranks in the top 50 of all Laracasts users.
In my opinion you should think in grouping the core logic together, separating the views (frontend/backend) can be done using controllers and routes but for the core parts has to be kept together in respective repositories.
As sample this will be my User Module
User.php -> Model
UserRepository -> Repository Interface
EloquentUserRepository -> Repository implementation
UsersServiceProvider -> Service provider to set the repository & listeners
Events/myeventFiles -> store all events here
Listeners/mylistenerFiles -> store all event listeners here
Exceptions/user module specific exceptions -> all exceptions go here
UserRepository will have functions for all users no seperation between admin or users, access control must be managed by yourself.
I like to use a exception driven pattern so that it gives me more flexibility on top layer. Also this allows me to use the same core code to use with mobile app/web app/command line app easily/
Well exceptions are fine, and really give the flexibility to mold our app, Sentry 2 is great package I have been using it on all my projects along with the groups and permission we have a great system. I was also able to get social authentication quite easily ready with Sentry 2 (using laravel oauth package).
What we really want is groups and permissions in the official Laravel Auth package which makes it complete.