Personal Portolio John Mulhall - A UX Demo Project
Menu
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.
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
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
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
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.
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.
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.
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
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.
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.
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.
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!
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.
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.
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).
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.
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.
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.