Daniel Farrell

Web UI/UX Design & Development
PortfolioMS is currently in BETA stage, meaning this page will evolve over time. You can follow along here, or on GitHub for more direct access to updates. Last updated on the 4th of September 2016.

PortfolioMS is a CMS designed specifically for portfolios, whether you're a developer like me, an artist, a photographer, or anyone else! The simplest description for PortfolioMS is "PortfolioMS is to portfolios what WordPress is to blogs". Or at least that's what I'm aiming for. My reason for creating PortfolioMS is two-fold; on one hand I needed a portfolio and I wanted something to take center stage; on the other hand it allows me to apply what I've learnt in my most recent year at university in regards to web application development and web security practices.

PortfolioMS uses HTML5 and responsive CSS on the client side, and the old but reliable combination of PHP and MySQL on the server side. I also plan to introduce JavaScript to enhance the experience, particularly when it comes to image uploads and WYSIWYG editors, but for now I want to create a core experience that works without JavaScript.

Features of PortfolioMS

Simple InstallationSimply enter the database connection information, setup the administrator account and admin directory location, and you're good to go.
Project PostsThe admin can create, edit, delete, and re-order the display of their projects.
ThemesA one-step installation for themes, allowing admins to upload a folder to the /themes/ directory in order to change the entire style of their website.
Secure Account ManagementAdmins can change their email and password. The password is stored securely using industry standard salting and hashing methods.


Image UploadsThe admin should have the ability to upload images that can then be used in their Projects.
WYSIWYGCurrently, the admin must use pure HTML to stylise their project pages. Ideally, they would be able to use a WYSIWYG/rich-text editor.
Better Theme InstallationAdmins should be able to upload a .zip file via the admin panel rather than needing to upload it manually via FTP/SSH/etc. Even better would be a theme directory that developers can upload themes to for admins to browse through and use.
Account RecoveryAdmins should be able to request a new password via email if they have forgotten theirs. This should follow standard security practises such as expiring reset links and security questions.
PreviewsAdmins should be able to preview a post before publishing it.

Get PortfolioMS

The source code for PortfolioMS is available on GitHub, and the installation instructions are simple - either clone the repository or download and unzip it onto a PHP/MySQL enabled web server, create a MySQL database for PortfolioMS to use, then navigate to the /setup/ directory of the installation and follow the instructions to begin!