In this course, I don't cover much of the introduction to Laravel, that is why I recommend some knowledge in Laravel before subscribing to this course. In this course, we build a Laravel forum from scratch. For the students who subscribe to the course, I provide the theme we are going to use plus other materials that we use in this course.
What We're going to build:
Forum Members
In this course, we build a forum. The forum has Categories and each category has forums. Each forum has discussions or topics the unauthenticated users can view the forums categories and the forums but they have to log in in order to start a discussion in any forum. Each discussion has replies. Replies have the like and dislike button displayed if the logged-in user is not the author of the reply. The number of likes and dislikes affects the user's rank. Likes increase the user's rank while dislikes reduce the user's rank. When the user is logged in, he is redirected to the profile page where he/she can update their profile information. The forum displays all the logged-in users as well as the page for all the forum members.
Admin
Admin has total control of the forum. Admin has CRUD(CREATE, READ, UPDATE and DELETE) permissions on the Categories, Forums, Discussions, Users, and Replies.
Admin has access to user's Profiles and Can Update them.
Notifications
Users are notified upon someone replying on the discussion they started or When someone likes the reply. Admin is notified when a new user joins the Forum.
Telegram API
We link the application with a telegram group so that notifications are sent to the group by the telegram bot upon new user registration, the new discussion started, and a new reply to the discussion.
Categories Search
On the forum homepage, we have a search form where users can search specific keywords, and then they will be shown the categories with those keywords if they exist
Access Control
We implement access control where normal users can't access the admin panel whether they know the URL to the admin panel or not. For this, we use admin middleware to redirect the non-admin users back to their profile page if at all they get the admin route and try to access it.
Users can also not edit other user's profiles.
The Laravel topics we're going to cover are: Laravel application structure, Laravel MVC, Laravel Controllers, Laravel Models, Laravel Mailable, Laravel Migrations, Laravel views, Laravel Observers, Laravel commands, Laravel Notificatifiable, Laravel Routes, Laravel Named Routes, Laravel Eloquent, Laravel Database, Laravel blade template