
These are the introductory slides to the course, the Laravel Forum application that we are building
The theme that we are going to use in this course
Set up a new Laravel project using Composer or the Laravel installer, install required packages, and open the project locally to verify installation. Explore the folder structure and key files.
Learn how to integrate a frontend theme into a Laravel forum by scaffolding authentication, replacing the default layout with a Blade template, and extending layouts with shared components like navigation.
Develop a Laravel forum by integrating the frontend theme in part 2. Build an admin and client sections with blade templates, extends layouts, and content blocks.
Create database migrations and the associated category and forum models, outlining the table blueprints with fields like description and defaults, and enable automatic demo data during migration runs.
Learn to create and manage forum categories in a Laravel app using a resource controller, category model, and migrations, including forms and storing data with Eloquent.
Learn how to validate a category form in Laravel using request validation, enforcing required fields for title, image, and description, and displaying custom error messages to guide user input.
Navigate the Laravel forum’s overview and topic overview, exploring forums, categories, and topics, and examine how templates display topics and replies.
Learn how to display login and register buttons for guests and show logout when authenticated, integrate authentication, and test replying to a topic in a Laravel forum.
Learn to implement dynamic member statistics for a Laravel forum by displaying the newest and latest members, total member counts, and forum categories on the front end.
Learn how to set up the user profile page in a Laravel forum, enabling login, editing profile details, and displaying dynamic data such as a profile picture.
Create new categories, forums, and topics in the Laravel forum using the dashboard to add a JavaScript category, manage topics, discussions, and posts.
Explore how to enable users to reply to forum discussions directly from their profile page, including accessing the relevant routes and posting replies, within a Laravel forum built in 2022.
This lecture explores managing user profiles and login flow, updating profile details, and navigating a category-based forum, handling dynamic versus static category data, and implementing post replies and deletion logic.
Explore displaying each user in the admin panel by routing to a user page, fetching a user by id in a controller, and rendering the user data in a view.
Develop the admin panel feature to fetch all users, display a clicked user's details, and delete a user, with the dashboard updating accordingly.
Implement new user joined notifications in a Laravel forum, display them in the admin dashboard, structure payload data, and manage read, mark as read, and delete actions.
Learn how to implement database-to-browser notifications in a Laravel forum, including admin alerts for new topics and new replies, with notification classes, properties, and triggering logic.
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