Here is my working portfolio page
- at least PHP 8.1
- Apcu enabled, opcache
- Mysql 8 and higher (older version would probably still work)
- composer
- Nodejs (npm)
- server (tested on apache)
- Redis cache
-
Download project
git clone https://github.com/Matej-ch/portfolio.git -
Run
composer install -
Run
npm install -
Run
npm run build -
Create database if it doesn't exist
php bin/console doctrine:database:create -
Run migrations
php bin/console doctrine:migrations:migrate -
Create admin user to login
php bin/console app:create-admin email username password -
(Optional) Load fixtures with custom data
php bin/console doctrine:fixtures:load -
Generate custom password_hash
php bin/console security:hash-password -
generate APP_SECRET
APP_RUNTIME_ENV=prod php bin/console secrets:set APP_SECRETand addAPP_SECRET='%env(APP_SECRET)%'to.env.prodfile on server -
Run
composer dump-env <enviroment>and make sure APP_SECRET is set and not empty
- List of projects with search
- Detail for project including links to source code and project
- About me page
- Admin functionality
- Connection to GitHub api for readme and other data
- Custom metadata for main page
- Project collections
- Landing page
- Contact me page
- Project image gallery
- Hire me page (on page contact)
- Email sending
-
First create database
php bin/console doctrine:database:create -
Make entities you require
php bin/console make:entity -
After entity is set up create migration file
php bin/console make:migration -
Run migration files and create or update tables
symfony console doctrine:migrations:migrate -
Load fixtures with default data
symfony console doctrine:fixtures:load -
Create admin user to login
php bin/console app:create-admin email username password
generate password for user symfony console security:hash-password
create default records in database (by default data will be purged)
default user will be admin with password tada
symfony console doctrine:fixtures:load --group=live