Platform | Result |
---|---|
Symfony Insights | |
Codacy |
This project involves creating a personal blog to introduce oneself as a Web Developer to potential employers.
This is the biggest project required in my cursus. This project involves several skills as it follows:
- Creating application's concept by describing its structure (Entities / Domain Objects);
- Choose the right technological solution among those existing;
- Estimate a task and hold the deadlines;
- Write maintenable and clean code;
- Create and maintain website's architecture;
- Manage datas with a database;
- Ensure the quality of a project;
- Write detailed technical specifications;
- Create a webpage that would display user input (after sanitization);
- Analyze technical specifications.
twig/twig
phpmailer/phpmailer
php-di/php-di
friendsofphp/php-cs-fixer
phpstan/phpstan
- late
fzazinotto/faker
Docker has been used for this project's environment, thus, if you use Docker in your everyday workflow, it should be easy to install it although there aren't any Makefile.
Used ports :
- 8080 for adminer container
- 1080 for maildev container
- 3306 for mysql container
- none for node container
- 80 for php / nginx container
-
Create a .env file using those values. User and Password are the same everywhere (excluding website's back-office)
MYSQL_USER=olivia #Or the name of your choice MYSQL_PASSWORD=password MYSQL_DATABASE=portfolio MYSQL_ROOT_PASSWORD=root
-
Launch Docker Apply those commands in your terminal :
2.1 Launch containers
docker-compose build && docker-compose up -d
2.2 Install PHP bundles
docker-compose exec php composer install
2.3 Install NPM packages
docker-compose exec node npm install
-
Create database tables. This project uses Adminer, you can connect to it using the credentials from step 1 in localhost:8080. Server name is
mysql
and database name isportfolio
or the name you choice. If you changed, please checkportfolio.sql
. While using Adminer, you can create database's tables using the SQL tool "SQL Query". Disregard first 3 lines, there are there in case something bad happens. -
Once the database is created, you can create the fixtures. In
./app/public/index.php
, paste this line:
require_once dirname(__DIR__).'/src/DataFixtures/UserFixtures.php';
Reload localhost, then remove it. Then paste those 2 lines:
require_once dirname(__DIR__).'/src/DataFixtures/ArticleFixtures.php';
require_once dirname(__DIR__).'/src/DataFixtures/CommentFixtures.php';
Reload localhost, then remove them. Your fixtures are created!
- If you want to log in for the Admin Section, check user's table. Credentials are created when fixtures are created.