This project is based on the Symfony PHP Framework and should be seen as some sort of small template for photograph websites. Note: you should have experience in web development to adjust the project to your preferences.
You can find first impressions on fotografie.fabian-schmick.de or watch the gif below
The project provides you following functionality:
- Symfony 5.4 (LTS version) and PHP 8.1 compatibility
- Responsive layout with the help of Bootstrap and jQuery
- Small CMS / Backend functionality for creating new posts, tags and tours
- Image compression and thumbnail generation with LiipImagineBundle
- I18n support in English and German
- Tag possibility for describing and filtering posts
- Uploading gpx files for showing your favorite tours with Leaflet and connect them with your posts
- Calculation of the tour duration with German Alpine Club (DAV) recommendations
- Lazyloading and Infinityscrolling for images
- Lightbox as a quick view for images
- Dynamic Sitemap generation
- SEO optimization
- Valid for General Data Protection Regulation (GDPR)
- Some PWA Support with Workbox
Clone the project
git clone https://github.com/FabianSchmick/photography.git
Install the dependencies via composer
composer install
To run the application setup Symfony or use vagrantfile for local development or use migraw for local development
Generate the database schema
php bin/console doctrine:schema:update
Create a backend user
php bin/console app:add-user username password fullname
Now you only need to execute npm install
and npm run build
in the project root to generate the necessary stylesheet and javascript files.
If you need some example data run:
php bin/console doctrine:fixtures:load