initial very rough draft
This commit is contained in:
parent
83fad2d61b
commit
bea39dc3d9
|
@ -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.
|
||||
|
||||
|
|
Reference in New Issue