My personal website is in desperate need of a makeover.
The site will be rebuilt afresh and this repository will serve as its codebase. I have decided to make it public to show how I've built it. Pull requests from the public are very welcome!
Mockups are done in Figma and can be found here
- Docker Engine
- Docker Compose
- Clone this repository
- Set the
CONTACT_EMAIL_ADDRESSvariable in the
- Browse to
The Projects section of the homepage is dynamically-generated from Project objects. These can be populated through the command-line by browsing to the root directory of the project and running
docker-compose exec php bash and then
php artisan tinker. The following is an example of how to create a Project object and persist in the database:
App\Project::create([ 'name' => 'Title of Project', 'description' => 'Description of Project', 'url' => ['https://www.project-site.com'], 'image_urls' => ['https://image.com/1.jpg', 'https://image.com/2.jpg], 'commit_count => 235, 'tags' => ['gis', 'stripe', 'mapbox'], ]);
For more information on this, please have a look at the
2020_02_09_033742_create_projects_table.php files. In the future, my plan is to have project data reside as posts in Wordpress instance and access it via the Wordpress API.
In order to build brotli-compressed versions of the files, use the
npm run production script. For development, use
npm run watch or
npm run dev in order to save time.
The test suite for this project is located in
I want this site
Do you want to use/extend this site as your own? Go right ahead! Fork or clone this repository. The MIT License allows you to do just that. All I ask in return is that you buy me a coffee.