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
- Run
./setup.sh
- Set the
CONTACT_EMAIL_ADDRESS
variable in the.env
file - Browse to
http://localhost:8710
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 Project.php
and 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 ./app/tests
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.