Steven Marshall

Computer Systems Analyst

https://stemar.net

Full stack software design, documentation, data modeling, development, testing, deployment, training.

Earned a Bachelor of Business Administration from Concordia University (Montreal) in 1993. Three weeks after graduation, moved to Vancouver.

In 2001, started as a self-employed I.T. consultant and software developer. Initially specializing in spreadsheets with macros for finance and accounting clients, learned to code with HTML, CSS, JavaScript, PHP, Ruby, MySQL, PostgreSQL and SQLite.

Created standards-compliant websites and researched and developed database-driven web applications using MVC frameworks following high-level programming guidelines.

From 2008 until 2013, was employed as a full-time software engineer and self-employed as an I.T. consultant.

Worked on projects at Sage Software, Rogers Video, Nationwide Mutual Insurance Company, Best Buy Canada and the University of British Columbia.

Started Nevvix Technology Inc. in July 2013.

With an uncommon, broad understanding of both I.T. and business, Steven's specialty is to create software solutions that meet business goals and reduce maintenance costs over time.

Italy-SlowTravel.com responsive Grav blog

The English version of Italy-SlowTravel.com, using the Grav flat-file CMS framework.

The client can edit her own pages using Markdown.

Launched Italy-SlowTravel.com in November 2018.

Vagrant boxes with Ubuntu & CentOS LAMP stacks

vagrant screenshot

Standardized virtual machines for a development team of 8 by creating Vagrant boxes duplicating LAMP specs of production servers.

Vagrant, Oracle VM VirtualBox, Ubuntu 16.04 and CentOS 7.5, MariaDB 10.3, Apache 2.4, PHP 7.2, Composer, Codeception, Adminer, Java JRE, Selenium, Node.js, Git.

Fully documented in Jira using Markdown.

PHP/Bash custom deployment script

Created PHP/Bash custom script to deploy the in-house application to any client-owned server and execute post-deployment actions.

deploy_entrada screenshot
  • Override server, instance, repository, git branch, api branch and database name with command line options.
  • Incremental deployment directories with a symlink to the current version.
  • Rollback to previous version.
  • Automatic Slack notification.
  • Performing tasks chronologically.
  • Running Bash commands wrapped in PHP functions.
  • Using ssh to log in to remote servers.
  • Using rsync to copy the build to the remote server.
  • Customizable JSON config file.
  • Script log and separate rsync log for troubleshooting.
  • Verbose, quiet, help and interactive modes.
  1. Perform checks and validations.
  2. Build the application locally using git clone.
  3. Run composer update.
  4. Edit local config files.
  5. Upload built application to chosen server.
  6. Migrate remote databases.
  7. Update remote Apache symlinks.
  8. Clean up unneeded remote releases.
  9. Send Slack notification.
  10. Clean up local temporary location.

API parser and wrapping class

api logo

Built classes to parse and edit data from API XML and JSON feeds into data compatible with local database.

Built classes to execute Amazon, Walmart, Newegg and Bestbuy API methods to fetch, parse and update data to Marketplace accounts.

Wrote corresponding PHPUnit tests.

Using PHP, Silex micro web framework, MySQL.

Ruby acceptance tests

nationwide.com screenshot

Created acceptance tests for web application using Ruby, CSS Selectors, Cucumber, Gherkin, Watir.

Created Ruby classes that use CSS Selectors to improve test libraries.

Converted legacy acceptance tests to updated standards.

CinqueTerre.hu responsive design website

The Hungarian version of the updated CinqueTerre website, fully localized in hu-HU using the Bootstrap responsive design framework, the Flickr API, the Fotorama image gallery plugin along with Nevvix's own web framework.

Launched the new responsive version of CinqueTerre.hu January 2015.

Stemar.net responsive website

Redesigned stemar.net using the Responsive framework and the fullPage.js JavaScript library.

Installed Grav flat-file CMS and customized templates for the blog section.

Launched the stemar.net website in January 2016.

Nevvix.com responsive website

Redesigned nevvix.com to include background video on each page. Used the Responsive framework.

Launched the nevvix.com responsive website in December 2015.

smi : social media icons & links plugin

Created a PHP plugin that creates a custom social media icon bar without iframes or spying analytics.

Available on GitHub: https://github.com/nevvix/smi

Launched the smi plugin and its web page in November 2015.

CinqueTerre-travel.com project showcase page

A responsive web page showcasing the technical aspects of the CinqueTerre-travel.com website.

Launched the CinqueTerre-travel.com project page in November 2015.

Responsive Web Design by Nevvix sales page

A sales page targeted at European businesses to convert their website to responsive web design to capture more mobile user sales using the HTML5, CSS3 and parallax technique for background images, JavaScript, PHP, the Responsivebp.com framework, Google's reCaptcha.

Launched the Responsive Web Design by Nevvix sales page in July 2015.

CinqueTerre-travel.com responsive design website

An increase in web traffic from mobile devices in Europe prompted an update of CinqueTerre.hu and CinqueTerre-travel.com using the Bootstrap responsive design framework, the Flickr API, the Fotorama image gallery plugin along with Nevvix's own web framework.

Launched the new responsive version of CinqueTerre-travel April 2015.