This is a Laravel-based blog application that allows users to register, log in, create posts, comment on posts, like posts, and receive notifications for interactions on their content. Admin users can manage all users, posts, and comments, while regular users can manage their own posts and comments.
This project leverages Laravel’s powerful features including:
- Authentication and Authorization: Supports user roles (admin and regular users).
- Posts: Users can create, edit, and delete posts.
- Comments: Users can add comments to posts.
- Likes: Users can like and unlike posts.
- Notifications: Users receive notifications when their posts are liked or commented on.
- Admin Panel: Admin users can manage users, posts, and comments.
- User registration, login, and authentication.
- Post creation, editing, and deletion.
- Comments on posts.
- Like/unlike functionality for posts.
- Notifications for post likes and comments.
- Admin dashboard for managing users, posts, and comments.
Download the project ZIP file from the provided source. Unzip the file into your desired directory.
git clone git@github.com:zachealy1/blog-app.git ~/development/repositories/blog-appNavigate to the project directory in your terminal:
cd ~/development/blog-appInstall all PHP dependencies required by the Laravel project.
composer installInstall all JavaScript dependencies needed for asset management and frontend tooling.
npm installCompile and bundle project assets like CSS and JavaScript for development use.
npm run devMigrate the database
php artisan migrateSeed the database
php artisan db:seed- PHP 8.1 or later
- Composer
- Node.js & NPM
- MySQL or another supported database
Users can create, edit, and delete posts. Users can add comments to posts. Admins have access to an admin functions where they can manage posts and users. Users receive notifications when their posts are liked or commented on.
By default, an admin user is created during database seeding. You can log in using:
- Email: test@example.com
- Password: password
To generate fake data (users, posts, comments), run the following command:
php artisan db:seedThis will generate test users, posts, and comments. An admin user will also be created.