
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.
Explore the Laravel project structure with an emphasis on mvc architecture, models and controllers, and the key directories, configuration, database, migrations, factories, seeders, routes, views, and the public entry point.
Build authentication scaffolding in a Laravel 7 app by installing the auth package, wiring the database, and migrating the users table with fields like email, phone, and address.
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.
Integrate a Laravel admin dashboard into your forum by cloning the dashboard repo, wiring the front end to the back end, and implementing a dashboard controller to create four categories.
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.
Refactor migrations to enforce proper relationships and cascade delete behaviors among users, categories, and forums, and to handle deletions of categories and forums with related replies.
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.
Create and display categories in a Laravel forum by using categories controller index method to fetch categories paginated at 20 per page and render each with image, name, and description.
Build and display categories and forums in a Laravel forum app, establishing a one-to-many relationship between categories and forums, and enabling create, read, update, and delete operations.
Discover how to update and delete forums in Laravel by editing details, retrieving by id, and handling update and delete requests with success messages, enabling topics and posts.
Resolve previous errors in the Laravel forum app, implement editing and updating forums, create new topics, and display the latest post in each forum.
Navigate from a category to a forum by fetching the forum id in a controller and passing data to the view. Link forums to categories and display topic counts.
Create a new topic in a Laravel forum by implementing a topic controller with index and store methods, handling topics and categories, and rendering the forum view.
Refine a Laravel forum by correcting how topics are counted within categories and forums, and align discussions with topics through proper models and migrations.
Learn how to create and manage forum topics and discussions in a Laravel app, including switching from topics to discussions, using models, handling login, and managing categories and replies.
Navigate the Laravel forum’s overview and topic overview, exploring forums, categories, and topics, and examine how templates display topics and replies.
Explore building a Laravel forum with dynamic topics and replies, displaying topics via the show page, incrementing topic views on click, and gating replies by authentication.
Learn how to implement discussion replies in a Laravel forum by posting topic replies, wiring the reply action in the discussion controller, and displaying linked replies under each topic.
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.
Add delete functionality for replies in the Laravel forum by adding a delete button to each reply, wiring it through the discussion controller, and returning a success message.
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.
Update user profile fields such as location, country, and bio, and display the latest activity by listing posts and discussions in the home controller.
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.
Learn how to build the admin dashboard home page by wiring the dashboard controller to fetch dynamic data from user, category, discussion, and forum models, with pagination for latest topics.
Display all registered users on the admin dashboard by querying the database and rendering user data, with routes and methods to manage, delete, and control users.
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.
Debug a Laravel forum by resolving a bug where linked tables delete data during registration, categories, and replies, and validate with tests to ensure discussions load correctly.
clean the admin dashboard by removing unnecessary notifications and the notification menu, while keeping the my profile link accessible and loading the current user data.
Learn to implement Laravel notifications in a forum, including creating database notifications, migrating the notifications table, designing and dispatching notifications (database and mail) to admins when new users register.
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.
Create a new category notification when a category is created, wiring the category model, user data, and telegram alerts, and implement it in the category controller via the notification import.
Test the notification functionality in a Laravel forum by simulating new topics and replies. Ensure category changes and admin notifications trigger correctly, and verify the dashboard reflects these notifications.
Implement Telegram notifications that trigger when a new discussion is created in a Laravel forum, sending the topic title and starter name to Telegram.
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