Laravel Portfolio CMS is an open-source, flexible, and feature-rich content management system (CMS) tailored for developers, designers, and freelancers to easily create and manage their personal portfolios. Built with the Laravel framework, it provides a modern, user-friendly interface for customizing and displaying your work and professional profile.
- Full CMS Functionality: Manage your portfolio content, including projects, blog posts, and contact forms, through an intuitive admin panel.
- Dynamic Portfolio: Add, edit, and remove projects with detailed descriptions, images, and links to live demos or repositories.
- Responsive Design: Fully responsive and mobile-first design, ensuring seamless display across devices.
- SEO-Optimized: Pre-configured SEO-friendly URLs, meta tags, and social sharing capabilities.
- Customizable Themes: Easily switch and customize themes using Blade templates and SASS.
- Blog Integration: Publish articles, tutorials, or updates with the built-in blog feature.
- Contact Form: Integrated contact form with email notifications.
- User Management: Role-based access control for managing multiple users (Admin, Editor).
- Built with Laravel 10.x: Taking advantage of the latest Laravel features and security enhancements.
Explore the live demo of the application:
- Frontend Demo
- Admin Panel Demo
Username:admin@novicelab.tech
Password:password123
Ensure your system meets the following requirements:
- PHP 8.1 or higher
- Composer
- MySQL or PostgreSQL
- Node.js & npm (for asset compilation)
-
Clone the repository:
git clone https://github.com/NoviceLab/Laravel-portfolio-cms.git cd Laravel-portfolio-cms
-
Install dependencies:
composer install npm install
-
Create and configure
.env
file:Copy the example environment file and adjust the database credentials and other settings:
cp .env.example .env
Edit the
.env
file with your preferred editor:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=portfolio_cms DB_USERNAME=root DB_PASSWORD=secret
-
Generate application key:
php artisan key:generate
-
Run database migrations and seeders:
Set up the database structure and insert sample data:
php artisan migrate --seed
-
Compile assets:
Compile the frontend assets using Laravel Mix:
npm run dev
-
Serve the application:
Start the local development server:
php artisan serve
Access your portfolio CMS at
http://localhost:8000
.
The admin panel allows you to:
- Manage Portfolio Items: Add or edit projects, upload images, write descriptions, and add tags.
- Blog Management: Create, edit, or delete blog posts with featured images and categories.
- Contact Messages: View and manage messages sent via the contact form.
- User Management: Control user roles, permissions, and passwords.
- Dynamic Grid Layout: Your portfolio projects are displayed in a dynamic, customizable grid with filterable categories.
- Single Project View: Each project includes a detailed view with images, descriptions, and links to live versions or GitHub repositories.
- Laravel Portfolio CMS supports multiple themes, and users can create their own by modifying Blade templates and stylesheets located in the
resources/views
directory.
We welcome contributions! To get started:
- Fork the repository.
- Create a new feature branch:
git checkout -b feature/my-new-feature
. - Commit your changes:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature/my-new-feature
. - Submit a pull request.
Please read our Contributing Guidelines for more details.
This project is open-sourced under the MIT License. See the LICENSE file for more details.
For any issues or feature requests, feel free to create an issue in the GitHub repository or contact us at novicelab.01@gmail.com.
Laravel Portfolio CMS - Developed by NoviceLab | Powered by Laravel