Web Portfolio
A PHP-based web portfolio application for showcasing graphics, animations, and videos.
Features
- Portfolio Management: Add, edit, and view portfolio items across different categories.
- Database Backup: Built-in functionality for taking and restoring database backups.
- Responsive Design: Built using Bootstrap v5 and SASS for a modern, responsive layout.
Setup Instructions
-
Clone the repository
-
Install dependencies (if modifying styles):
npm install npm run compile:sass -
Database Configuration: The
connect.phpfile is ignored by git because it contains sensitive credentials. Create aconnect.phpfile in the root directory with the following structure:<?php $dbhost = 'localhost'; $dbuser = 'your_database_user'; $dbpass = 'your_database_password'; $dbname = 'jayson_art'; mysqli_report(MYSQLI_REPORT_OFF); // Required for PHP 8.1+ compatibility $link = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname); $link->query("SET NAMES 'utf8'"); $link->query("SET CHARACTER SET utf8"); if($link === false){ die("ERROR: Could not connect. " . mysqli_connect_error()); } try{ $pdo = new PDO("mysql:host=$dbhost;dbname=$dbname;charset=utf8", $dbuser, $dbpass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")); }catch(PDOException $error){ echo $error->getmessage(); } session_start(); error_reporting(0); date_default_timezone_set('Asia/Manila'); ?> -
Backup Configuration: The
backup.phpscript is also ignored as it contains hardcoded credentials. If you need the backup functionality, you should recreate it locally or use a secure environment configuration.
Requirements
- PHP 7.4 or PHP 8+ (configured for backward compatibility)
- MySQL / MariaDB
- Node.js (for compiling SASS)