Skip to content

FabianSchmick/photography

Repository files navigation

Photography

Tests and Deployment Scrutinizer Code Quality

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

back-and-frontend

Features

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

Installation

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