From bea39dc3d96f298d63b45350206c11166cc11414 Mon Sep 17 00:00:00 2001 From: ray Date: Sun, 9 Feb 2020 20:01:45 +0000 Subject: [PATCH] initial very rough draft --- content/posts/leopold.md | 79 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/content/posts/leopold.md b/content/posts/leopold.md index a485811..54ed820 100644 --- a/content/posts/leopold.md +++ b/content/posts/leopold.md @@ -6,8 +6,85 @@ description = "" slug = "" tags = ["October CMS", "Vue"] categories = ["Portfolio"] +featured_image = "/images/leopold/large-1.jpg" externalLink = "" series = [] +++ -TODO +**Marc Leopold** is an apocryphal photographer and visual artist based in Chicago, USA. +Having previously only having a dated, imaginary website to showcase his work, he recently decided that he was in need of a more modern, up to date portfolio site. + +## The Front End + +The front end of this project, I decided to use [Vue.js](https:/etcvuejs.org). +Site is mainly to consist of content in the form of images. +The main task of a user is expected to be the browsing and viewing of these images. +A **Single Page Application** give the best user experience. +No need to do full page reloads, when we only need to update the on-screen images. +Can dynamically update page components to create a fast responsive site. + +## The Back End + +For the backend I decided to use [October](https://octobercms.com/), a Content Management System, based on the [Laravel](https://laravel.com/) framework, which is a popular, open source, PHP based framework. + +The major requirements of a backend for this type of project is simply to store and organise images. +It would be possible to create a fully bespoke image based CMS to handle these requirements. +However, this would involve a considerable amount of work and a lot of considerations, such as security best practices, browser compatibility, testing of code, etc. + +Fortunately, there are already a number of libraries and frameworks available that have already solved these issues, been tried and tested with real world use by many users, and are in active development. +Using one of these shortens development time considerably. We are able to build upon and extend functionality rather than reimplementing these features from scratch. + +So for a relatively basic CMS, in which there are no particularly special requirements, it makes perfect sense to make use of a pre-existing platform. +In this case, I used **October** for a number for reasons. + +Performant - isn't bloated with unneeded functionality. It instead provides a +base in which features and functionality may be added if required. This makes it +faster than some alternatives, such as WordPress for example, which can suffer +from having a large amount of features included as a base. Also has useful +default features such as minification of CSS and JavaScript. The templating +engine (TWIG) generates static HTML. + +Developer oriented - is targeted towards developers. High quality documentation +and a clean and modern codebase makes it easy to extend and add functionality. +Plugins are entirely separate - have own database and namespaces preventing +conflicts between them. The templating system and text file based website +structure allows for separation of data and presentation and gives easy version +control management. + +There is a large developer community. This means a large number of plugins and +themes provided by the community. Not as many as WordPress but many of the +WordPress plugins can be considered to be poor quality, particularly among the +free ones. It can also be difficult to extend WordPress plugins. + +Secure when compared to alternatives like WordPress. Only one file that can be +accessed - `index.php`. There is a more rigorous approval process for plugins and +themes. + +Administrative interface customisation. This is very useful for a site that will +involve a lot of users with the ability to manage their accounts. + +These reasons are why I consider a platform like October to be better for +building a backend CMS than, for example WordPress - it is easier to customise +and add the required functionality without the inherent bloat. + +Having said that, it may sound like WordPress just isn't very good when compared +to something like October. This, however, just isn't true. WordPress is very +good at what it actually is - a platform that allows users, who may have limited technical +ability, to publish a website. For this it is very successful, after all it +powers XX% of the world's websites. However, it is also a victim of its own +success. It is a very high profile target with a lot of effort expended in +finding exploits and vulnerabilities. That, combined with its start as solely a +blogging platform, with CMS features bolted on over time, can make leaner, more +focused alternatives more appealing to developers. + +## The Design + +Wanted to focus on the images. +Wanted striking, interesting images on the home page to create interest. +Wanted colour scheme to be dark and monochromatic. +This is so that I can use full colour on those images and elements that I want to attract attention to and not have user be distracted by other elements that aren't the focus of the page. + +## The Deployment + +Hosted on a Virtual Private Server using Docker. +