Hello,
I am Matthew Dorner and this is my web development portfolio. Use the left and right arrows, or click 'Projects' to see a list of all projects.
This mobile app allows the user to import ABC notation music data and view it in the form of sheet music and tablature for a variety of instruments. It uses a local SQLite database which is pre-loaded with songs from Nottingham Dataset, a collection of free, open-source ABC music. It makes use of my abcjs-vexflow-renderer library to process and format the music.
Technologies: JavaScript, React Native, Redux, React Hooks, Android, SQLite, React Native Navigation
Links:
Google Play Store |
GitHub repo |
Components |
Database |
Redux
I started writing this code as part of my react-native-songbook project, then decided to break it into a separate library. This library takes the parser output of the abcjs library (for music formatted in ABC notation) and renders it to SVG using the VexFlow music engraving library. Writing this code myself allowed me to include specific features I wanted for my app, such as the ability to generate tablature for fretted instruments, violin fingerings, harmonica and tin whistle. The repository includes a browser-based tool to view the output of the library and a unit test suite via Jest.
Technologies: JavaScript, abcjs, VexFlow, Jest, ESLint, Webpack, NPM
Links:
GitHub repo |
Guitar tab algorithm +
Tests |
Position music 1 +
2 |
Main algorithm |
Parser |
Beam music notes |
Draw music
I created a plugin for the Mattermost group messaging app which allows users to play chess against each other. It uses the chessboard.js and chess.js libraries. I've also made some Golang backend contributions to other Mattermost plugins. In April of 2023, I received the recognition of Mattermost MVP for the v7.10 release of the project.
"Matthew made several open-source contributions to the server part of Mattermost Microsoft Calendar plugin. He demonstrated good knowledge of Go, provided extensive test coverage and excellent written communications for his contributions. I am looking forward to Matthew's continuing engagement with Mattermost." - Lev Brouk, Mattermost Engineering Lead for Extensibility
Technologies: JavaScript, Golang, React, Redux, OAuth, CSS
Links:
Chess plugin GitHub repo |
Golang Feature PR |
Golang OAuth Fix PR |
Golang PR |
Golang PR |
Golang bug report |
mattermost-webapp PR |
mattermost-plugin-demo PR |
Documentation fix PR |
Mattermost contributor coffee mug
Benson Cloud Services is a web application for storage and analysis of occupational health testing data. I was a developer on this project for 8 months and worked on the frontend, backend and SSRS reporting module.
Technologies: C#, ASP.NET MVC, JavaScript (Dojo Toolkit), SQL (SSRS), SVN
Links:
YouTube video
HospitalRun is a web application for hospital management written in JavaScript with an offline-first design. It originally used Ember, but is now being rewritten in React with Redux and TypeScript. I made contributions to both stages of the project.
Technologies: JavaScript, TypeScript, React, Redux, Ember, CouchDB, Jest, Docker
Links:
React-Redux feature |
Jest test fixes |
React-Redux feature |
React Component +
React Component |
SASS Bootstrap theme |
Ember fix |
Docker config |
Reviewing a PR |
Deprecation fix |
Bugfix and test cases |
Docker and Node.js config fix |
Bug report +
Fix |
Troubleshooting +
Fix +
Fix |
Electron config
Technologies: JavaScript, JQuery, Bootstrap, HTML, CSS, AJAX
Links:
Certification
This "Simon" game in JavaScript was an exercise I did for the FreeCodeCamp Front End Developer course.
Technologies: JavaScript, CSS, Bootstrap, JQuery, HTML.
Links:
CodePen
This "Tic Tac Toe" game in JavaScript was an exercise I did for the FreeCodeCamp Front End Developer course.
Technologies: JavaScript, CSS, Bootstrap, JQuery, HTML.
Links:
CodePen