Hello, I'm Michael Joyce!

UI Developer - Dundalk, Ireland

GIT

About me

My name is Michael Joyce. I am a 28 year old Web Application Developer from Dundalk, Louth, Ireland I like JavaScript and everything web.

I am an experienced Web application developer with experience using Angular.js, Angular 7, React.js with Redux, Backbone.js, Node.js and JAVA (Spring Boot). I have worked commercially with agile software teams as part of agile development.

While I have specialized and focus on Web technologies using Javascript I also have knowledge and have worked on Android applications written in Java and Kotlin. I also have worked on the full software web stack using a combination of Node.js with the Express framework on some small internal projects within Celtech and with JAVA using the Spring boot framework both integrating with a relational PostgreSQL database.

This current portfolio site is built using React.js, Gatsby.js, GraphQL and Contentful

Scroll down to see some of the larger commercial projects I have worked on while working for Optimum Results and Celtech Software Ltd.

Logo

Projects

Salesrep

sales rep 1


I am currently employed with Aphix Software in Drogheda as Mobile Application Tech Lead. At Aphix Software I have worked on the migration of an old legacy multi-page web application created with jQuery to a single page application with React.js and Redux.

The salesrep project was originally created with PHP and jquery it created a multi page application that was compiled with grunt.js

I rebuilt this application with

  • Webpack 4
  • React.js
  • Redux.js
  • Material-ui components
  • Ag-grid
  • Typescript
App
Abinitio Version 6

abinitio


"The true-real time solution that embraces and augments existing systems to provide unequalled operational visibility, control, efficiency, and unique customer experiences - to accelerate a retailer's growth and profitability"

Abinitio V6 is the current project I am working on with Celtech Software Group. Abintitio V6 is the largest frontend project I have worked on. The project was built using Angular.js 1.4 and built with Grunt.js. When I joined Celtech the application was well under way with development using Angular.js 1.4 but was not following the style guide by John Papa for Angular.js which is recommended by the industry. The project was built with grunt and had a local folder of vendor javascript files that where out of date.

We decided it would be best to spend some time getting the application ready to upgrade to a newer version of Angular 2+ with Webpack. We began by upgrading to Angular.js 1.6 and converting all the controller - view combos to Angular.js 1.6 components. We also took this opportunity to move to ES6 javascript.

Refactoring such a massive code base took a long time and we made progress during sprints by allowing some time for tech debt at the end. In the meantime we started the move from Grunt to Webpack 4 to allow us easier use of ES6 imports for our project. I spent a sprint creating the webpack development and production configuration files. We implemented the configuration for Webpack 4 and moved all our local Javascript vendor files to dependencies from NPM

The next step on our road to upgrading was to move to Typescript. Typescript is becoming very popular in the industry and the IDE experience for development and the strong typing and interfaces which we could build to match the Java backend where major motivators in taking the time to refactor everything to typescript.

Once we had moved to Webpack and had refactored most of the code to follow the style guide and use typescript I introduced Angular 7 to the application in a hybrid state. All new components are created using Angular 7 and we use ngDowngrade to downgrade them for use in the large Angular.js codebase. This allows us to go back and rewrite older Angular.js components to Angular 7 while still keeping a shippable product.

The Application is an admin application for a user to login and view report data for their products. The application has CRUD screens for creating new products, promotions, customers and allows for the management of GDPR requests.

The application connects to a RESTFul API backend built using SpringBoot. The SpringBoot application works with an older IBM DB2 Database which is used by the older V5 version of the product for compatibility

  • Angular.js 1.6
  • Angular 7.1.1
  • Ag-grid 12 - 19
  • ChartNew.js
  • Bootstrap 3 CSS
Web
TellUsFirst

tellusfirst


"TellUsFirst allows your customers to engage with you in real time. They can rate their experience, answer some specific questions about their experience and also leave their contact details, so they can hear back from you"

TellUsFirst was a project I worked on when working with Optimum Results. Optimum Results is a small training company in Dundalk, Co.Louth that specializes in training for SME's in Ireland and Internationally Tell Us First was the first big commercial project that I worked on as a frontend web developer. I worked as the Frontend web developer for Tell Us First using the following software stack.

Backbone.js Underscore.js ChartNew.js Bootstrap 3 CSS jQuery Tell Us First hereby called TUF for short allows a user to create a public facing customer feedback portal. A user can sign up and generate a URL that they can give to their customers which allows them to collect feedback for a particular location or the entire organisation.

When a customer visits this URL via QR or NFC they are presented with 4 smiley faces. The admin can set up the application to stop after the smiley click or continue to ask the customer more in depth questions.

The Dashboard The dashboard for TUF was designed for an Admin to login and view the data that has been collected for their account. This dashboard supports the basic CRUD operations of the site like creating and maintaining a quiz. It also has a rich reporting aspect to allow admins to drill through and view graphs representing all their information.

Web