Adding Updated Blazor Version

This commit is contained in:
6d486f49
2026-04-22 13:32:24 -04:00
parent 0c7289c50e
commit a0fbc80bff
77 changed files with 60713 additions and 11 deletions
+35
View File
@@ -0,0 +1,35 @@
namespace Website.Data;
public static class Overview
{
public static Data Get()
{
return new Data
{
Parts =
[
new Part
{
IsVisible = true,
Order = 1,
Description =
"Software Developer with a focus on the .NET tech stack.",
LastModified = new DateTime(2025, 9, 8)
}
]
};
}
public class Data
{
public List<Part> Parts { get; set; }
}
public class Part
{
public bool IsVisible { get; set; }
public int Order { get; set; } = 9999;
public required string Description { get; set; }
public DateTime LastModified { get; set; }
}
}
+67
View File
@@ -0,0 +1,67 @@
namespace Website.Data;
public static class PersonalInfo
{
public static Data Get()
{
return new Data
{
Info =
[
new Info
{
Name = "Location",
Value = "Ottawa, ON"
},
new Info
{
Name = "Email",
Value = "jonmcc0723@gmail.com"
},
new Info
{
Name = "Phone",
Value = "613-277-8353",
IsVisible = true
},
new Info
{
Name = "Experience Length",
Value = Math.Round((DateTime.Today - new DateTime(2012, 1, 1)).TotalDays / 360,
MidpointRounding.ToNegativeInfinity)
+ " years in tech, 3 in education"
},
new Info
{
Name = "Education",
Value = "Game Development (2012)"
},
new Info
{
Name = "Awaiting Release",
Value = "Path of Exile 2",
IsVisible = false
},
new Info
{
Name = "Favourite Games",
Value = "Armored Core 4: For Answers, Warcraft 3, TimeSplitters: Future Perfect, Mass Effect 2",
IsVisible = false
}
]
};
}
public class Data
{
public required List<Info> Info { get; set; }
}
public class Info
{
public required string Name { get; set; }
public required string Value { get; set; }
public bool IsVisible { get; set; } = true;
}
}
+101
View File
@@ -0,0 +1,101 @@
namespace Website.Data;
public static class Skills
{
public static Data Get()
{
return new Data
{
Skills =
[
new Skill
{
Name = "C#, .NET"
},
new Skill
{
Name = "Blazor"
},
new Skill
{
Name = "React"
},
new Skill
{
Name = "Angular"
},
new Skill
{
Name = "HTML, CSS"
},
new Skill
{
Name = "JS, TypeScript"
},
new Skill
{
Name = "Agile, Scrum"
},
new Skill
{
Name = "Jira, Azure DevOps"
},
new Skill
{
Name = "Unit Tests"
},
new Skill
{
Name = "Test Automation"
},
new Skill
{
Name = "Jenkins, Azure Pipelines"
},
new Skill
{
Name = "REST, APIs"
},
new Skill
{
Name = "SQL"
},
new Skill
{
Name = "git"
},
new Skill
{
Name = "PC, Mac, Linux, Mobile"
},
new Skill
{
Name = "Azure, AWS, Self-Hosting (Ubuntu Server)"
},
new Skill
{
Name = "Google Analytics, 3rd Party APIs/Libraries"
},
new Skill
{
Name = "Documentation, Training Videos"
},
new Skill
{
Name = "Customer Support and Debugging"
}
]
};
}
public class Data
{
public required List<Skill> Skills { get; init; }
}
public class Skill
{
public string Name { get; init; } = "";
public bool IsVisible { get; init; } = true;
}
}
+194
View File
@@ -0,0 +1,194 @@
namespace Website.Data;
public static class WorkExperience
{
public static Data Get()
{
return new Data
{
Experiences =
[
new Experience
{
Role = "Server Developer",
Location = "TotalETO, Company providing engineering to order solutions",
DateRange = "2021 - 2026",
Points =
[
new Point
{
Description =
"Wrote various API calls, unit tests to test said calls, and exact examples to show the frontend team on how to consume the GraphQL API.",
IsVisible = true
},
new Point
{
Description =
"Converted SQL stored procedures into views usable by Entity Framework to support old functionality with new web app features.",
IsVisible = true
},
new Point
{
Description =
"Moved from backend to frontend as needed to fix bugs and add features to React frontend to help the UI team with their higher workload.",
IsVisible = true
},
new Point
{
Description =
"Took part in converting legacy VB-coded app functionality to a C# web development server.",
IsVisible = true
},
new Point
{
Description =
"Taken the initiative in creating a variety of onboarding internal wiki documents explaining parts of the codebase that were well-loved by the team.",
IsVisible = true
}
]
},
new Experience
{
Role = "Fullstack Blazor Developer",
Location = "Personal Projects, on various interests",
DateRange = "2021",
Points =
[
new Point
{
Description =
"Created igpfanreference.ca to teach players in unreleased game basic play patterns, and to experiment with Blazor, Linux self-hosting and Azure web hosting.",
IsVisible = true
},
new Point
{
Description =
"Twitch streamed live coding sessions to demonstrate developing the website, and crowd-sourced and credited players on ideas and functionality for the website.",
IsVisible = true
}
]
},
new Experience
{
Role = "Angular Web Developer",
Location = "CleanCode, Software consultancy on various projects",
DateRange = "2020 - 2021",
Points =
[
new Point
{
Description =
"Came to the conclusion that I wanted to focus my career in .NET, and left the company to pursue Blazor research and C# opportunities. Unfortunately, Blazor development work is not as popular as one would hope.",
IsVisible = true
}
]
},
new Experience
{
Role = "Full Stack Developer",
Location = "bitHeads, Tech shop with a focus on cloud-based technology",
DateRange = "2015 - 2020",
Points =
[
new Point
{
Description =
"Worked on a portal and mobile-facing web app for a SaaS project written in React.",
IsVisible = true
},
new Point
{
Description =
"Eliminated routine project hours spent documenting by creating a Node.js tool in TypeScript that generated the API doc contents.",
IsVisible = true
},
new Point
{
Description =
"Created brainClouds Command Line tool in Node.js and other test tools, for developers and QA to test and stress test API and server features.",
IsVisible = true
},
new Point
{
Description =
"Maintained customer success and brainClouds unit tests, examples, and libraries in Java, ObjC, C++, C#, JS, Unity, and Unreal.",
IsVisible = true
},
new Point
{
Description =
"Wrote documentation, tutorials, and offered guidance to bring new co-workers up to speed on the BaaS environment.",
IsVisible = true
},
new Point
{
Description =
"Maintained and wrote Jenkins Pipeline in Groovy for improved test reporting and team CI.",
IsVisible = true
},
new Point
{
Description =
"Developed Test Automation for brainCloud and Nortec/Condair Help websites in Java, to reduce manual testing time spent on an agile team.",
IsVisible = true
}
]
},
new Experience
{
Role = "Mobile Game Developer",
Location = "Smoke Labs, Tech startup with a focus on mobile games",
DateRange = "2012 - 2015",
Points =
[
new Point
{
Description =
"Developed key systems in Blokus, Mattel-branded title nominated in the Canadian Video Game Awards for 'Best Game Design' and 'Best Social or Casual Game.'",
IsVisible = true
},
new Point
{
Description =
"Experience integrating a multitude of analytics, ad systems, and backends, including Google Analytics, Game Analytics, Flurry, Mopub, and Playhaven.",
IsVisible = true
},
new Point
{
Description =
"Spent time working with the external QA team to bridge the company's knowledge gaps between the developer and QA workflows.",
IsVisible = true
},
new Point
{
Description =
"Integrated ads, in-app purchases, analytics, and handled product releases of legacy client apps.",
IsVisible = true
}
]
}
]
};
}
public class Data
{
public List<Experience> Experiences = new();
}
public class Experience
{
public string Role { get; set; }
public string Location { get; set; }
public string DateRange { get; set; }
public List<Point> Points { get; set; }
}
public class Point
{
public string Description { get; set; }
public bool IsVisible { get; set; }
}
}