I specialise in front-end and back-end technologies including CSS, JavaScript, C# ASP.NET and T-SQL. Here you will find some projects I have worked on over the years. I'm reachable on email@codedbydidier.net.
UK Parliament
Engaged in the development of public websites and business applications that support the House of Commons and House of Lords. Led and participated in public and internal projects with multi-disciplinary teams using C# ASP.NET Core MVC/Web API, HTML 5, jQuery, JavaScript, TypeScript, AngularJS, SASS and SQL. Example of public projects include: Votes in Parliament, Committees and MPs and Lords.
Main tasks
Lead and planned development on sets of related stories/projects.
Enabled the House of Commons MPs to vote by Proxy.
Coded accessible features to meet international WCAG 2.1 requirements.
Customised Swashbuckle for ASP.NET (and Core) so that swagger-ui uses Parliamentary branding in Web APIs.
Created tools to optimise repetitive daily activities and cut time delays, including a C# Win Forms application to manage parliamentary VPN connections and a Google Chrome extension to quickly and easily notify the user which pre-Live environment is being shown.
Acted as a mentor for development skills with more junior members of the team.
Visuals
Digital magazines
Participated in the creation of a system, in which I became lead developer, that allows editors of Wired, Vogue, GQ and Glamour to create rich mobile and tablet editions of their magazine for iOS and Android. These editions are published in the Apple Store, Google Play Store as well as some articles on Apple News.
Main tasks
Involved in back-end and front-end tasks using C# ASP.NET, Node.js, HTML, SASS, JavaScript. System administered instances of Windows and Linux Amazon EC2, RDS and SQS. Guided front-end developer on architectural decisions and integration tasks with the back-end.
System components
ASP.NET Umbraco websites that allows digital producers to easily build editions by creating templated articles, choosing styles and interactive elements including galleries, audio players, video players and cover animations.
Article bundler for Apple News that ZIPs articles and assets into JSON based Apple News Format, ready for upload via a custom web uploader portal.
Hybrid App generated by PugPig and Adobe and customized to the brands' specifications. The Hybrid App displays magazine editions articles built in HTML, JavaScript and CSS.
Hybrid App videos
Teachers community
Lead developer on the revamp of the TES Community, a platform where teachers can discuss education issues with one another. This involved migrating an old platform used by millions of users to the latest Telligent Community. The project introduced new functionality for users to create groups, blogs and forums; invite friends to groups, 'like' posts, upload resources to share, search within search results and more.
Main tasks
Coordinated and reviewed developers' work: C# ASP.NET, JavaScript, HTML, CSS and SQL.
Optimised the use of JIRA during sprints for better collaboration between QAs, developers and project manager.
Executed regular SVN code merges of ongoing parallel projects.
Automated releases using TeamCity to build and deploy windows services (3) and websites (7) - 90% faster than manual release.
Idealised and created a C#.NET tool to generate SQL packages (~200 scripts) for automated database deployments.
Visuals
Telecoms 'MyAccount'
Created a C# ASP.NET multi-tenanted 'MyAccount' portal for a suite of telecoms sites, which enable customers to manage their phone and internet accounts online. Customers can download invoices, pay bills, change tariffs, modify services, make phone line tests, report faults, generate call reports, create call alerts and recommend friends. The application communicates with BT's WLR3 platform to process requests related to the customer phone line.
Visuals
Payment service
Implemented a C# ASP.NET application to handle secure online payments for telecom customers using 3D Secure (Verified by VISA and MasterCard SecureCode) through credit card payment gateway service from Protx (now Sage Pay).
Website redesigns
I have written the code for several website redesigns, involved in both the front-end HTML, CSS, JavaScript and back-end C# ASP.NET updates. The key objective of the redesigns was to increase the companies' online presence and to improve the user experience. Some of the sites also required multi-tenancy to be enabled.
News portal
The objective of this news portal was to create a platform which could be used to create news articles, business tips, polls and feature small businesses. The project had to be completed as quickly as possible so I developed an efficient process in order to achieve this goal.
Buy a theme that fits into the look and feel of the company's website, tweaking as needed.
Create the main categories to organise articles.
Create a PHP job to parse news from external feeds. This is to auto insert news to the website without the need of human intervention.
Install polls and word cloud plugins.
Add social media links.
Optimise the search functionality.
Test, test, test and release!
The result
Automated deployments
I started working on a project which was taking almost 2 days to be deployed manually to test servers due to its magnitude. Everyone was pulling their hair out. This process required the deployment of multiple websites, windows services and SQL changes.
I stepped forward to lead the development and immediately prioritized automation. The result was the deployment timings reduced from 2 days to between 5 and 20 minutes per deployment (timings were variable as the deployment was modular and therefore it was possible to choose what to deploy).
I optimized builds and deployments timings with:
TeamCity - used to control the build and deployment process with the press of a button. Enabled continuous builds and nightly deployments.
DOS batch and Powershell scripts - used to achieve multiple tasks on deployment servers such as IIS and windows services management.
SQLPackage - designed and created a C#.NET tool to remove database release errors. The tool generates a multi-tenanted SQL package of objects and a respective reference file. This file was then used with a batch script that called SQL Server's sqlcmd utility for automated deployment against multiple databases.
Single sign-on component
The company I was working for owned several websites with one shared login. Each of the websites had its own code to handle single sign-on. It was extremely difficult to maintain such critical functionality so I offered to come up with a better solution. I studied the single sign-on code of each website and centralized the logic into one C#.NET component for ease of maintenance and re-use by any of the company's websites. I also made use of ASP.NET forms authentication and cookie handling. Now, any change in single sign-on logic is achieved in one place and reflected on all websites.
Multi-lingual RSS aggregator
Created 'InstantNews', a service to gather and distribute news from RSS feeds directly to users’ e-mail addresses. This service was composed by: a multi-lingual (english/french/portuguese) C# ASP.NET Web Forms portal where users could register, login and add RSS feeds; a C#.NET Win Forms desktop application to process all feeds and to send updates by e-mail to users; and data storage provided by an Oracle database.
Back in the day
You can find below a sample of my first projects on the web using HTML, CSS, JavaScript, PHP and MySQL.
Online community
Administered a sports community online. Built a website to support events, forums, news, etc. Used PHP and MySQL as back-end technology.
This magazine had endless listings of games' source code, which I spent hours studying and then typing into my computer to run. Suddenly, I was in control, I could modify and add anything to games!
The internet and browsing devices are constantly changing, there is always something new to discover or a new problem to solve, it is challenging and fun.