Skip to content

A comprehensive Content Management System (CMS) based Portfolio Builder built with Laravel. This application allows users to dynamically manage their portfolio website content, including Hero sections, About details, Services, Skills, Portfolio items, and more, all through a secure Admin Dashboard.

Notifications You must be signed in to change notification settings

aadhar41/portfolio-website

Repository files navigation

Dynamic Portfolio Website

A comprehensive Content Management System (CMS) based Portfolio Builder built with Laravel. This application allows users to dynamically manage their portfolio website content, including Hero sections, About details, Services, Skills, Portfolio items, and more, all through a secure Admin Dashboard.

Features

  • Dynamic Content Management: Fully manageable Hero, About, Services, and Category sections.
  • Portfolio Management: detailed portfolio item management with category association.
  • Admin Dashboard: Secure and responsive admin panel powered by Laravel Breeze and Tailwind CSS.
  • Data Tables: Advanced data sorting, searching, and pagination using Yajra Datatables.
  • Export Functionality: Export data lists to Excel for offline analysis.
  • Toast Notifications: Real-time feedback for user actions.

Tech Stack

  • Framework: Laravel 10.x
  • Language: PHP 8.1+
  • Database: MySQL
  • Styling: Tailwind CSS
  • Authentication: Laravel Breeze
  • Frontend Tooling: Vite
  • Libraries:
    • yajra/laravel-datatables: For advanced table interactions.
    • maatwebsite/excel: For data export.
    • yoeunes/toastr: For notifications.

Installation and Setup

Follow these steps to set up the project locally:

  1. Clone the Repository

    git clone https://github.com/aadhar41/portfolio-website.git
    cd portfolio-website
  2. Install PHP Dependencies

    composer install
  3. Install Node Dependencies

    npm install && npm run dev
  4. Environment Configuration Copy the example environment file and generate the application key:

    cp .env.example .env
    php artisan key:generate
  5. Database Configuration

    • Create a database (e.g., portfolio_db) in your MySQL server.

    • Update the .env file with your database credentials:

      DB_CONNECTION=mysql
      DB_HOST=127.0.0.1
      DB_PORT=3306
      DB_DATABASE=portfolio_db
      DB_USERNAME=root
      DB_PASSWORD=
  6. Run Migrations Run the migrations to create the necessary tables for the CMS (users, heroes, services, portfolios, etc.):

    php artisan migrate
  7. Link Storage Create the symbolic link to access uploaded files from the public directory:

    php artisan storage:link
  8. Start the Server

    php artisan serve

    Access the application at http://localhost:8000.

Application Screenshots

Frontend

Home Page Portfolio Page Blog Page
Home Page Portfolio Page Blog Page

Admin Dashboard

Dashboard Profile
Dashboard Profile

Admin Management

Hero Section About Section Services
Hero Create About Create Service Create
Category Portfolio Item Portfolio Settings
Category Create Portfolio Create Portfolio Settings

License

This project is open-sourced software licensed under the MIT license.

About

A comprehensive Content Management System (CMS) based Portfolio Builder built with Laravel. This application allows users to dynamically manage their portfolio website content, including Hero sections, About details, Services, Skills, Portfolio items, and more, all through a secure Admin Dashboard.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published