Scientia Est

Personal Portolio John Mulhall - A UX Demo Project

image of GitHub with link to profile

Home

A hearty welcome to my software portfolio application built on ASP.NET Core MVC 5.2 on .NET. This site was originally deployed from Debs (a.k.a. My former Macbook Pro 2012) and is now maintained on Nancy (a.k.a. My 2019 Windows Laptop!). Production deployment is hosted on the Azure cloud platform. This application goes hand in hand with source code found on my Github profile (sorry, some updates were not pushed to github for security reasons), which is detailed in the icon above and also in the below portfolio by project. Also, please feel free to connect with me on Linkedin, Twitter, and Github.

Image of John Mulhall

Whilst this application is mainly dedicated to my software portfolio bringing you details of my personal software projects along with summary detail only of my commercial software projects, you can also find the following by clicking on the menu icon to the left of this page.

  • Home Page - Brings you home to this page and my software portfolio beneath
  • About Page - Brings you a short bio about myself, qualifications, experience summary, interests, etc
  • Resume Page - Brings you a short form version of my Curriculum Vitae in Resume format
  • Irish Tech News Page - Brings you background to my writing experience and my publications with Irish Tech News
  • Contact Page - Brings you an online contact form plus the best email addresses, phone numbers and social media profiles to connect with my goodself!

Status Updates

October 2021 - Sunset Notice image of John Mulhall's freelancing brand Maolte It gives me great pleasure to share the next step of my professional career as an Engineer and Technologist. Back in July 2021, I decided to leave my last employment and engage with the workplace in a wider context. To that end, I launched Maolte as my Freelancing/Sole Trading brand complimenting my full time (payrolled) employee pursuits. Should I be successful in securing employment as a full time employee, Maolte will allow me to progress my contract roles on a part time basis and/or finally take my Novel projects off the shelf and back into development for publishing. If I secure full time work as a contractor on an hourly or day rate in the Infrastructure, Devops, and/or Writing areas, I can still pursue these part time activities under the Maolte brand. The content on this site will remain published but not actively supported from October 2021 as a great deal of it will be replicated and actively developed via the Maolte website, which showcases this site as a UX showcase project in the DevOps Project page. I look forward to your visit to the new Maolte site and any feedback you may have on it, and/or your inquiry about availability, etc.

September 2021 - It gives me great pleasure to announce the launching of my Sole Trading business called 'Maolte' to work in tandem with my Full Time Employee pursuits in the Infrastructure and Devops areas. I have been very busy setting up my Sole Trading business aswell as getting into multiple selection processes for some fantastic technology companies hiring for Infrastructure Cloud Operations/Engineering and Devops roles. Its been a thrill meeting so many skilled Engineers and Managers. After talking tech with those folks, I can tell you they are all are running on cool stacks, which is beyond impressive. You can see via Resume (menu selection), my new role as Infrastructure and Devops Engineer as John Mulhall T/A Maolte. This role is dynamic and designed to accommodate a twin track approach to work engagement by complimenting my full time employee pursuits aswell as providing a means to accommodate my technical writing and novel writing pursuits. Stay tuned for my full launch via https://maolte.ie and updates via the LinkedIn company page https://www.linkedin.com/company/maolte. Also, I've set up a twitter handle 'maolte1' so feel free to follow me or checkout my Facebook page at https://www.facebook.com/maoltech. Also, was in contact with my Editor at Irish Tech News and have an assignment on the go for publication soon so do stay tuned for updates on my forthcoming publications on Irish Tech News. Oh, my exam prep after finishing the Certified Kubernetes Course on Linux Academy/aCloud Guru is not forgotten about. When I complete my project setting up as a Sole Trader under Maolte, I will pick up my prep where I left off and sit the CKA exam. Exciting times ahead so stay tuned for updates!

August 2021 - Given my career shift into Infrastructure on my quest to explore the full stack for all its wonders, I have devoted enormous amounts of time to infrastructure certifications such as the CCNA 200-301, CompTIA XK0-004 Linux+ certifications and currently am preparing to sit the Certified Kubernetes Administrator exam. My below novel is pending as a result but not forgottten about, as I believe that great stories can and sometimes need to be told. Some of these stories can entertain and some can inform on the wider world we live in. I am also deliberating on my next career move, which heralds a great time of change for myself. Hopefully, you will soon see more and more updates onto this site. To that end, I am creating a new section as below called The Infrastructure Portfolio, which will be devoted to my personal infrastructure projects, ranging from CICD pipelines using cloud providors to systems explorations to network automation projects and so on. Do stay tuned for updates!

February 2019 - I am devoting some of my spare time to writing novels. Its an exciting time of discovery for me as I still pursue engineering with the same passion and vigor that brought me to it in the first place. When time permits, I shall be following my other passion of writing by venturing into the area of writing novels. My debut novel is called Soldersee. It's about the life of a former US Army Ranger who gets drawn into the murky world of counter terrorism after recovering from his experiences in the Army and was buiding a life for himself as a Software Engineer. Twitter handle is launched as Soldersee. One of my pending software projects is to develop an author web application that will host the very best of my novel works so stay tuned for developments!


The Infrastructure Portfolio

My first dip into Infrastructure was with Oracle Cloud Infrastructure in 2018 and for a freshly trained Software Engineer, it was a whirlwind of learning supporting multiple areas of the technology stack in production and some development support. This journey of full stack production support continued into my time at Workday, which only now has allowed me pause to conduct personal projects in the infrastructure area. The learning and working experience until now has been that busy. Below is my infrastructure portfolio detailing exploratory projects of interest, which I hope you like and find useful. Also, please note that in time, I will be adding to my software portfolio, so do keep an eye out for updates.


Project Name: AWS CodeStar CICD Pipeline Publication Date: August 2021

Show More/Less

Languages:

Image of Python Language Image of Front End Lanugages HTML5, CSS3 and Javascript

Frameworks/Storage/CICD:

Image of Django Framework logo Image of Github Profile image Image of AWS CodeStar Platform as the CICD pipeline on AWS

Deployment:

Image of AWS Logo for the Cloud

Project Description:

This is a Continuous Integration Continuous Deployment (CICD) project using a Github as a source code repository to automatically trigger from master branch any pushed code into action on AWS from the CodeStar CICD platform. Once pushed to master on Github, CodeStar via secure connection manages AWS resources to automatically build and deploy the commit code onto an EC2 (t2.micro) instance on AWS using in this case Elastic Beanstalk (EBS) to manage the server. The templated project's purpose is demonstrate the CodeStar platform and its use of AWS features including CloudFormation and IAM based on its connecion to my Github account. Interestingly, the direct cost of CodeStar is not charged by AWS, who collect on the underlying billable resources been used (e.g. EC2 instance). I found it to be an alternative to setting up an EC2 instance with Jenkins on it for managing the CI Builds to CD stage, albeit one that is platform dependant on AWS. I did not deploy HTTPS for this project based on cost considerations and the fact that CICD, not Web Development is the focus of this project. HTTP link only is below showing the Python/Django application.

Project Demonstration:

Github Repository: AWS CodeStar CICD Repo

Live Site - Hyperlink: CodeStar CICD Demo (EC2 Instance) Web App


Project Name: AWS Manual CD Pipeline Publication Date: August 2021

Show More/Less

Languages:

Image of Frontend languages HTML5 and CSS3

Frameworks/Storage/CICD:

Image of Github Profile image Image of AWS CodeDeploy Platform as part of CICD pipeline on AWS

Deployment:

Image of AWS Logo for the Cloud

Project Description:

This is a Continious Deployment project using a Github commit to trigger linked AWS assets into action to deploy the commit code onto an EC2 (t2.micro) instance on AWS. Its purpose is to demonstrate the most basic of CD pipelines using AWS features connected to my Github account. Github was used to deploy to dev branch, then PR to main for deployment after code scanning took place and then the approved PR merged into main. When this is done, the commit hash is added to CodeDeploy's 'Build Deployment'. Once done, the commit add will be used to manually build the deployment on AWS, pushing a styled HTML5 page onto the EC2 instance in production. For those wishing to gain a clear view of the AWS pipeline cohesiveness via its build and deploy process, its a good project to undertake. I did a subsequent update on a second commit to main branch using that commit hash to intitiate a second deployment on AWS CodeDeploy and update on the targeted EC2 instance. Jenkins or any other 3rd party tools outside of Github were not used for this project.

Project Demonstration:

Github Repository: AWS Manual CD Repo

Live Site - Hyperlink: Manual CD Demo EC2 Instance Site


The Software Portfolio

Although, I started to code in September 2014 for the first time in earnest, the Software Development set out below is based upon completed projects of note from September 2016 when I started the Higher Diploma in Science in Computing (Software Development) at Dublin Business School. Selected projects completed on the course along with those of note completed in my spare time; both then and since make up the bulk of my software portfolio. Please note certain Projects on my Github profile that predate the portfolio start date of September 2016 will not be included in my software portfolio. I have implemented a JavaScript toggle function to make perusal of my software portfolio more user friendly, so just click on any of the "Show More/Less" buttons under the project entries to see the details associated with the entry.


Project Name: Geopath Publication Date: June 2018

Show More/Less

Languages:

Image of Python Logo Image of Frontend languages CSS3, HTML5 and Javascript

Frameworks/Storage:

Image of Flask Framework Logo

Deployment:

Image of Heroku Logo

Project Trailer:

Project Description:

This project is a Python (v3.6.4) project on the Flask web framework that focuses on geo coding. The v2.0 version showcases the API based geo coding service from geopy library using Nominatium and GoogleV3 packages returning longitude and latitude coordinates through individual queries or by csv file upload. It also returns physical addresses in response to longitude and latitude entries on the location view. Also in this version, there is an about page view displaying information about the developer (me) and information about the application; including ideas for the next version

Project Demonstration:

Github Repository: Project Geopath

Live Site - Hyperlink: GeoFinder


Project Name: TryParse Publication Date: November 2017

Show More/Less

Languages:

Image of Java Logo

Frameworks/Storage:

None

Deployment:

Image of Github Profile Logo

Project Trailer:

Restricted - Unavailable

Project Description:

This project has is a Java Project designed to replicate the C# method TryParse() which uses the Parse methods for primitive datatypes int, long, double and float. Instead of having to exception handle a failure to parse the native Java methods, this JAR library returns 0 in the related datatype when NumberFormatException is tripped upon a failed parse attempt. The TryParse JAR is available at the Project's github repository below.

Project Demonstration:

Github Repository: Project TryParse

Live Site - Hyperlink: Restricted - Unavailable


Project Name: Project Portfolio Publication Date: October 2017

Show More/Less

Languages:

Image of HTML5, CSS3 and JavaScript Logos Image of C# and Visual Studio Logos Image of ASP.NET Razor Logo

Frameworks/Storage:

Image of Microsoft ASP.NET MVC Logo Image of XML Logo

Deployment:

Image of Microsoft Azure Logo

Project Trailer:

Project Description:

This project is build on an ASP.NET Core framework and is designed to showcase John's software portfolio from September 2016 onwards. The site is dedicated to the showcasing of his software projects along with his background, resume, writing portfolio with Irish Tech News and also a contact form. The application is written on a ASP.NET core stack in C sharp with a native XML database to store contact form information. The front end is crafted using Razor, HTML5, CSS3 and Javascript. The purpose is to give you a good UX experience in checking out John's software projects and finding out more about him through the site and its social media/contact links/details.

Project Demonstration:

Github Repository: Project Portfolio

Live Site - Hyperlink: Software Portfolio


Project Name: MulderbertPX Publication Date: October 2017

Show More/Less

Languages:

Image of HTML5, CSS3 and JavaScript Logos Image of C# and Visual Studio Logos Image of ASP.NET Razor Logo

Frameworks/Storage:

Image of Microsoft ASP.NET MVC Logo Image of SQL Server Logo Image of XML Logo

Deployment:

Image of Microsoft Azure Logo

Project Trailer:

Project Description:

This project is build on an ASP.NET (native) framework and is designed to showcase a version 2.0 of a college project that was done in v1.0 as a group project. Niall Colbert, Diarmiud Dermody and John made up the V1.0 team. The site is dedicated to the showcasing of a minimum viable product for a newly digitised (fictitious) Fridge company called Mulderbert & Co, whom are an established bricks and motor company moving into the digital space. The application is written on a ASP.NET stack in C sharp with a native XML database for contact us information along with SQL server for customer and transactional information. The relational Database instance is designed and developed to 3rd normal form ensuring good quality data persistence for core data generated by the site. The front end is crafted using Razor, HTML5, CSS3 and Javascript. The purpose is to give you a good overview of John's technical and design ability in a prior designed and built application, which he re-engineered to a smaller cost footprint yet maintaining data retention to a good standard for deployment on Azure.

Project Demonstration:

Github Repository: MulderbertPX

Live Site - Hyperlink: MulderbertPX


Project Name: Angular4 - Project Dublin Publication Date: August 2017

Show More/Less

Languages:

Image of HTML5 and CSS3 Logos Image of Typescript Logo

Frameworks/Storage:

Image of AngularJS Framework and TypeScript Logo

Deployment:

Image of Github Pages Logo

Project Trailer:

Project Description:

This project is build on an Angular4 framework as a web application front end. The use of Bootstrap and any other framework (e.g. ASP.NET) is purposely absent to show case the pure Angular 4 features using HTML5, CSS3, Typescript and the Angular 4 framework! The frontend is basically a brochure style web application that gives tips on visiting Dublin, Ireland along with giving tips on Angular 4 and its powerful front end features in developing a web application!

Project Demonstration:

Github Repository: Angular 4 - Project Dublin

Live Site - Hyperlink: Angular 4 - Project Dublin


Project Name: Image Analysis Framework (Commercial) Publication Date: June 2017

Show More/Less

Languages:

Image of Java 8 Logo

Frameworks/Storage:

Image of PostgreSQL Logo

Deployment:

Image of Linux(CentOS) Logo Image of Linux Penguin Logo

Project Trailer:

Restricted - Unavailable

Project Description:

This project is bascially a Java framework to house a proprietary video analysis algorithm belonging to Kinesense Ltd. I was the Junior Software Engineer on the project charged with building the Java framework running on Linux/CentOS virtual machine's in turn on Linux/CentOS servers with ARM 64 processors and a PostgreSQL databse solution. My job was then to take the processing part of the prioriety video analysis algorithm in C# and transcode it into Java ensuring the framework imported video files, processed the frames and conducted a frame by frame analysis storing data generated by the algorithm into the database solution within the framework. As I am bound by a Non Disclosure Agreement, no more information can be disclosed on this project. That said, I did gain a good proficiency in Java, Database Design and Development in PostgreSQL along with trouble shooting development issues in a commercial environment.

Project Demonstration:

Restricted - Unavailable

Github Repository: Restricted - Unavailable

Commerical Site - Hyperlink: Kinesense Ltd


Project Name: Personal Details Publication Date: June 2017

Show More/Less

Languages:

Image of Java 8 Logo

Frameworks/Storage:

Image of MySQL Database Logo Image of Java Swing Framework Logo

Deployment:

Image of Fat Client - Desktop Logo

Project Trailer:

Restricted - Unavailable

Project Description:

This project is a single tiered Java project using the Java Swing (and Java 8) framework to develop a simple data entry portal on the desktop (i.e. fat client) for data entry of personal details. The application is connected to a MySQL database normalised to 3rd normal form and accepts (personal) data inputs for storage by the database.

Project Demonstration:

Github Repository: Project Personal Details

Live Site - Hyperlink: Restricted - Unavailable


Project Name: Safe Haven Publication Date: April 2017

Show More/Less

Languages:

Image of Java 8 Logo Image of Android Logo

Frameworks/Storage:

Image of Firebase Backend As A Service Logo

Deployment:

Image of Fat Client - Desktop Logo

Project Trailer:

Restricted - Unavailable

Project Description:

This project is a Android project that inputs refugee information on a handheld (basic in v1.0) as part of the registration process and when saved uploads to Google Firebase, which is a Backend as a Service (BaaS). The .json string is in this v1.0 version is the basic personal details of the refugee that is inputted onto Firebase via upload from the Android device. It is searchable in a developed system by anybody globally with authorised access to the Firebase instance the details are stored on. The application also has a check function which uses Google maps based on the users location with a pan function to check an address on site once there is access to the internet. If no internet access, the registration can be stored locally on the device before it is "saved" to Firebase completing the registration. Data in this V1.0 is one way to Firebase, no retrieve, delete or edit functionality is implemented in this V1.0 minimum viable product. A v2.0 of Safe Haven would see those features implemented along other functional (e.g. auto check address without having to pan) and non functional features (e.g. encryption for local handset data storage).

Project Demonstration:

Github Repository: Project Safe Haven

Live Site - Hyperlink: Restricted - Unavailable


Project Name: Winforms Project DBS Publication Date: April 2017

Show More/Less

Languages:

Image of C SHarp and Visual Studio Logos

Frameworks/Storage:

Image of Firebase Backend As A Service Logo Image of Microsoft .Net Logo

Deployment:

Image of Fat Client - Desktop Logo

Project Trailer:

Restricted - Unavailable

Project Description:

This project has a 3 tier architecture designed to meet the project requirements of a college project which was to design and build an extensible minimum viable product for a student records management system via Winforms, .Net and SQL Server. The project has a gridview to see listed students, a new student, edit student and delete student features, which are fully interactive with the SQL Server instance running stored procedures from the application layer in order to conduct database operations. Database was designed and implemented to run in the 3rd normal form and the fat client application is desktop deployable only.

Project Demonstration:

Restricted - Unavailable

Github Repository: Winforms Project DBS

Live Site - Hyperlink: Restricted - Unavailable


Project Name: Project B and B Publication Date: March 2017

Show More/Less

Languages:

Image of HTML5, CSS3 and JavaScript Logos

Frameworks/Storage:

None

Deployment:

Image of Github Pages Logo

Project Trailer:

Restricted - Unavailable

Project Description:

This project has a front end only website, which was a college project to demonstrate web design ability. The project specs were for a fictitious B and B called "Moores B&B" who commissioned a brochure style web design for their flagship website. The pages include About Us, Our Customers, Activities, Rooms, Bookings, Useful Links, Contact Us (including online form) and a site map in addition to the Home page. No frameworks whatsoever were allowed for this project such as Angular, Ajax or even Bootstrap. The idea was to demonstrate web design talent and development skills using HTML5, CSS3 and Javascript to a lessor extent. It was in essense a design and style project.

Project Demonstration:

Github Repository: Project B and B

Live Site - Hyperlink: Moores B&B


Project Name: Linux Admin Publication Date: March 2017

Show More/Less

Languages:

Image of the Bash Logo

Frameworks/Storage:

None

Deployment:

Image of Linux Penguin Logo

Project Trailer:

Restricted - Unavailable

Project Description:

This college project was a pure bash scripting project interrogating the Linux File Structure. The basic idea of the admin script was to take results by block and then return the results by student with comments producing a new folder structure to store the results by student number. No other languages like AWK or Python were allowed.

Project Demonstration:

Github Repository: Project Linux Admin

Live Site - Hyperlink: Restricted - Unavailable