/creativecoder

A php/laravel portfolio project.

Primary LanguagePHPMIT LicenseMIT

The Creative Coder

User Stories | Tech | Todos | Features | Contact


As a software engineer I am always trying to learn new things, I am keen to create things as I learn which motivates me and provides something tangible at the end of the day.

This is a portfolio site, just a small project that i am going to build up and break down a few times over, I will be adding other projects to it once I am happy with the state of it.

Tech Stack

A PHP / Laravel project with a style sheet added for the css / javascript.

Installation: how it works

Not intended for wide use, but to do so;

git clone git@github.com:JRRS1982/creativecoder.git
npm install
npm run dev
// create a database then populate the db with some dummy data
php artisan migrate
php artisan tinker
factory(App\Project::class, 9)->create();

Testing: I have not yet felt the need to add tests as its a pretty simple site, it is an option if there is further development.

Reflection and further development

Todos

I quite like the use of TODO's on my own site, as can track them pretty easily with VSCode so may scatter them around a bit, as i think of improvements. I have found that Todo Tree is a great extension to manage them.

TODO: get search functionality working - search of projects - have just used some faker data for the table so not really important until I actually have some data to search through. Original plan was to have the search on the body of the project, but this slimmed down as i don't want separate pages for the projects at the moment. This is a simple site. TODO: get it up hosted online - Github pages? TODO: I think there is a way to create a database from the migration in Laravel, could explore this to make the build easier.

php artisan make:database {database-name} {connection-name}

TODO: make file for the project. TODO: add some tests if it starts growing. TODO: get it into a docker container maybe. TODO: add a seed file to populate the table with.

Features

Its a pretty basic site really, not many features, but I liked the style sheet so thought I would make it.

  • Factory to populate project table quickly.

php artisan tinker
factory(App\Project::class, 5)->create();

  • Layout file to keep page structure consistent and DRY
  • Partials to reduce typing and keep DRY
  • @csrf tag under html forms to protect against cross-site request forgery
  • migration to make a project table
  • dynamic display projects from the table
  • pretty responsive site imported from style sheets

Reflection

Enjoying the project so far, am taking a pretty relaxed approach to it. Happy with the style sheets that I integrated, feel like there is a lot of potential.

Credits

Pixelarity for the lovely stylesheet otherwise MIT Licence