Archived ASP.NET portfolio recreation

Dylan Steele

Bachelor of Computer Science

Indiana University of PA

Pennsylvania State University

Junior Web Developer (Full Stack)

Languages

Proficient: C#, VB.NET, ASP.NET, HTML/CSS, SQL, Java, XML, JSON, JavaScript, jQuery.

Familiar with: Vue.js, Sass, PHP, C, Python, C++, shell scripting, Bootstrap, Ajax, CSS3 Flexbox.

Currently learning: Go, CSS Grid, Firebase authentication and data.

Experience

Community Action, Inc. - Junior Web Developer (Full Stack), June 2016 to August 2017.

  • Designed, maintained, developed, and documented COPOS web systems.
  • Created new internal features and systems as needed.
  • Designed, built, and tested the company's new website.

Dylan Steele Portfolio

Static reconstruction of the old WebForms shell. The database, login, admin, and form actions are intentionally stubbed.

ASP.NET

COPOS report tooling

The original project pages described generated report tables, initiative management, report downloads, organization summaries, and a rule creator used for graphics and reporting workflows.

Archived year-to-year report graphic screenshot Archived rule creator screenshot

Desktop project

Calculator

A college calculator application using mXparser for arithmetic expressions, scientific operations, and a pop-out history panel.

Archived calculator screenshot

Mortgage amortization

Stubbed form recreation

This archived form is a visual recreation only.

Task Scheduler System

Quartz.NET scheduling example

The old page described a WebForms replacement for Windows Task Scheduler using Quartz.NET, persisted tasks, and URL-triggered jobs.

public static object CreateJob(string jobIdentity, string triggerIdentity, string url, string scheduledTime)
{
    IJobDetail job = JobBuilder.Create<Jobs>()
        .WithIdentity(jobIdentity)
        .UsingJobData("URL", url)
        .Build();

    ITrigger trigger = TriggerBuilder.Create()
        .ForJob(job)
        .WithIdentity(triggerIdentity)
        .WithCronSchedule(scheduledTime)
        .Build();

    return new NewJob(job, trigger);
}

Hashing and salting

Windows Forms password utility

The archived code example hashed a password plus random salt using SHA-512, then checked a second input against the generated hash.

static string Hash(string input, string salt)
{
    byte[] convertedToBytes = Encoding.UTF8.GetBytes(input + salt);
    HashAlgorithm hashType = new SHA512Managed();
    byte[] hashBytes = hashType.ComputeHash(convertedToBytes);

    return Convert.ToBase64String(hashBytes);
}