Skip to content

Latest commit

 

History

History
135 lines (85 loc) · 3.09 KB

README.md

File metadata and controls

135 lines (85 loc) · 3.09 KB

PHP - Portfolio learning project


This project goal is to develop a personal portfolio in order to learn PHP without any frameworks and with minimal packages.

Summary

Your project must respect the following requirements:

  • php >= 7.4
  • composer >= 2.0.7

You should not modify any of the following files and folders:

data/data.sql
public/
src/
tests/
.gitignore
composer.json
composer.lock
Makefile
phpunit-watcher.yml
README.md

You must only edit public/index.php file and write your code in the src/ directory (it is your freedom space).

You must respect a Code Review part.

To make your code review, I will use the commands below, so your project must work with this different Makefile commands :

Install

To install the various required packages, you must use :

make install

Tests

To run all your tests :

make tests

To start tests watcher (which will run your tests every time you save a file in the src/ or tests/ directories) during development, you can use:

make tests-watch

Run

To start your local application server, you must use:

make run

To directly install and run application:

make install-run

To directly install, test and run application:

make tests-run

To launch a code review, I will type this command:

make code-review

This command will test and launch your application without development package.

So, this command must work without any fail.

To make this part, your should develop three web pages:

  • Presentation web page: to present yourself, with your description.
  • Experience and training web page: to explain your professional experiences and formations with dates.
  • Portfolio web page: to present your projects and realisations.

All data must come from a MySql database.

Packages

You have limited package to build this part:

  • twig/twig ^3.0
  • slim/psr7 ^1.2

You don't have to use those packages but you must not add any production packages. If you need packages, you only can add them as development packages (composer install --dev <package>).

Warning: if your application uses development packages to run, then they will not be available during code review!

Database

Your database must be a MySql database. It must be exposed on localhost:3308 with user root and password root.

I provide a dataset with file data/data.sql. You can edit this file and change data.

Design

On this step, the design doesn't matter. Just use Bootstrap CDN.