Skip to content

dimartarmizi/portfolio

Repository files navigation

Portfolio

Portfolio

PHP Laravel Inertia Vue.js Vite Tailwind CSS

Portfolio template built with Laravel 13, Inertia, and Vue 3. This project includes public pages for profile, experience, projects, and blog content, plus an admin panel for managing site content and settings.

Portfolio Screenshot

Features

  • Portfolio homepage
  • Blog listing and post details
  • Work experience listing and details
  • Project listing and details
  • Admin panel for content, projects, posts, experiences, and site settings
  • Admin authentication
  • Inertia-based forms for experiences, posts, projects, and settings

Tech Stack

  • Laravel 13
  • Inertia.js
  • Vue 3
  • Vite
  • Tailwind CSS 4
  • Tiptap and Quill for content editing

Requirements

  • PHP 8.3 or newer
  • Composer
  • Node.js and npm
  • A database supported by Laravel

Installation

  1. Clone this repository to your machine.
  2. Install PHP and JavaScript dependencies.
composer install
npm install
  1. Copy the environment file and generate the application key.
copy .env.example .env
php artisan key:generate
  1. Configure your database connection in the .env file.
  2. Run migrations and choose one of the following options:
  • Use sample seed data for a ready-made demo portfolio.
php artisan migrate --seed
  • Start with a fresh database and add your own content later.
php artisan migrate
  1. Build the frontend assets or run development mode.
npm run dev

Running the Project

Development mode

composer run dev

The command above runs the Laravel server, queue listener, log viewer, and Vite together.

Production build

npm run build

Admin Panel

If you seeded the database during installation (php artisan migrate --seed), you can access the admin panel (typically at /login or /admin) using the following default credentials:

  • Email: admin@example.com
  • Username: admin
  • Password: pass

Project Structure

  • app/Http/Controllers contains controllers for public pages and the admin area.
  • app/Http/Requests contains form validation classes.
  • app/Models contains the main data models.
  • resources/js/Pages contains Inertia pages for public and admin views.
  • resources/js/Components contains reusable UI components.

Reuse

You are free to use, modify, and adapt this template for your own portfolio or other projects. If you reuse it for public or commercial work, review the content, branding, and security settings before deployment.

Inspiration

The landing page for this portfolio template was inspired by the design style of brittanychiang.com. The rest of the template and implementation are original to this project.

License

This project is released under the MIT License. See LICENSE for the full text.

About

A modern full-stack portfolio template built with Laravel 13, Inertia.js, and Vue 3, featuring a blog, project showcase, work experience, and a complete admin panel for content management.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages