Click here to Skip to main content
15,749,352 members
This competition has ended

Best Web Dev Article of April 2018

Contribute to CodeProject and you'll automatically be in the running for a monthly prize!

Each month at CodeProject we gather together the best of the articles submitted the previous month and ask our readers to choose the best of the best. Entry is automatic - just submit you articke and we'll do the rest.

Check out the submission guidelines for information on posting articles.

Current Entries

Articles that match the contest criteria are automatically entered.

Please Sign up or sign in to vote.
1 May 2018Pranay Rana
This post is about validation in Angular 2 application, which means it's about validation on client side, not about server side.
Please Sign up or sign in to vote.
28 Apr 2018Bryian Tan
How to dynamically display controls in FormArray using Angular 5 Reactive Forms and enable/disable the validators based on the selection
Please Sign up or sign in to vote.
20 Jun 2018vnmatt
How to take advantage of ASP .NET Core's Razor (.cshtml) views and have dynamic routes for Aurelia
Please Sign up or sign in to vote.
6 May 2018Sam__Khan
Automated Craigslist parsing with Selenium using Node.js
Please Sign up or sign in to vote.
8 Apr 2018Sem Shekhovtsov
The how-to article that summarises best practices for unit testing ASP NET Core MVC controller using NUnit and Moq framework
Please Sign up or sign in to vote.
8 Apr 2018Ahmed Bouchefra
Single page apps with Flask and Angular 4|5 tutorial series
Please Sign up or sign in to vote.
19 Apr 2018charles922
AngularJS and REST API Tutorial - Part 2
Please Sign up or sign in to vote.
22 Apr 2018Sibeesh Passion
How to create a custom validator directive in Angular 5
Please Sign up or sign in to vote.
20 Apr 2018AkiStar
Aunthentication of user using canActivate routing in Angular
Please Sign up or sign in to vote.
30 Apr 2018Ryan G Conrad
Using Powershell and Windows Task Scheduler API to detect malicious login attempts on a remotely accessible SQL Server database
Please Sign up or sign in to vote.
27 Apr 2018Member 11896794
This custom database first approach token authentication will enable you to apply token-based authentication in your application in a simple way with no hassle.
Please Sign up or sign in to vote.
27 Apr 2018charles922
AngularJS and REST API Tutorial: Part 3
Please Sign up or sign in to vote.
15 Apr 2018Dr. Song Li
Note on Webpack & Maven
Please Sign up or sign in to vote.
26 Apr 2018Intel
With the Levaux SenseAgent and Intel-based IoT gateway, building managers have the insight to maximize efficiency, proactively address maintenance, optimize environments, and improve occupant wellness and productivity.
Please Sign up or sign in to vote.
12 Apr 2018David Cantrell
How to add optional parameters to any function in VBScript & Classic ASP
Please Sign up or sign in to vote.
3 Apr 2018Dr. Song Li
This is a note on unit test Spring MVC applications.
16 Apr 2018Authorize.Net
The Authorize.Net API makes it easy to create, capture, refund and void secure payment transactions. Offering both XML or JSON, it works well with Ruby, Node.js, Python, and many other languages. The streamlined API also has the bandwidth to accept payments in every environment.
Please Sign up or sign in to vote.
3 Apr 2018Intel
Cut Energy Costs with a Smart Real-Time Occupancy Solution from Feedback Solutions and Intel
26 Apr 2018Intel
This article will explore a proof of concept that leverages the capabilities of Helix Device Cloud (HDC) and uses the UP Squared board as the vending machine gateway.
Please Sign up or sign in to vote.
4 May 2018Marc Clifton
Learning how to programmatically manipulate SVG in JavaScript
Please Sign up or sign in to vote.
12 Apr 2018 Saineshwar Bageri
How to create a simple API in Node.js and use MS SQL as a data source to perform CRUD operation
Please Sign up or sign in to vote.
18 Apr 2018AkiStar
Use of Redux in Angular application
Please Sign up or sign in to vote.
5 Apr 2018syed shanu
In this article, we will see in detail how to display role-based dynamic menu after a user logs in. For this, we will create a Menu Master table and insert a few records to display the menu and link the URL to the menu based on the logged in user's role.
Please Sign up or sign in to vote.
16 Jun 2023Zoltán Zörgő
One application, multiple SignalR endpoints with different hubs
Please Sign up or sign in to vote.
10 Apr 2018Igor Ladnik
The sample provides Web access to devices status and displays dynamic metrics charts with ASP.NET Core 2.0, SignalR, Angular 5 and Chart.js.
Please Sign up or sign in to vote.
12 Aug 2019Mohammed Dawood Ansari
"How to export the List into an Excel file" in a generic way using NPOI with .NET/.NET Core WEB API
Please Sign up or sign in to vote.
11 Apr 2018Chris Maunder
A simple HTML menu that progressively collapses based on available width
Please Sign up or sign in to vote.
25 Apr 2018Waseem Ahmed (Qatar)
High speed message bus using C# and MongoDB
Please Sign up or sign in to vote.
4 Apr 2018Deepan Maheswaran
Implementing dynamic or deferred loading of data using plugin in ASP.NET MVC
Please Sign up or sign in to vote.
22 Apr 2018Rajat-Indiandotnet
Filter, map & reduce function in JavaScript
Please Sign up or sign in to vote.
27 Apr 2018Pradeepa achar
Get started with writing your own jQuery PLUGIN in simple way
Please Sign up or sign in to vote.
21 Apr 2018Sibeesh Passion
How to do validation using template driven forms in Angular 5
Please Sign up or sign in to vote.
2 Apr 2018Eric M. H. Goh
Web Scraping using Regular Expression and HtmlAgility for Data Mining
Please Sign up or sign in to vote.
10 Apr 2018Harshit Gindra
This article explains a design approach that involves setting the work flow of the process using config file and Unity Framework. It helps to change the flow only by updating the config file and no other code change is required.
Please Sign up or sign in to vote.
Passing Multiple File Using Rest Sharp To Service Stack Windows Service

Current Participants

Those with articles that match the contest criteria are automatically entered.

Technical Lead
Hungary Hungary
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Technical Lead
India India
Microsoft Most Valuable Professional
Code Project Most Valuable Author
C# Corner Most Valuable Professional

I am Senior Technical lead Working on.Net Web Technology
ASP.NET MVC,.Net Core,ASP.NET CORE, C#, SQL Server, MYSQL, MongoDB, Windows
Software Developer
Morocco Morocco
Ahmed is a web developer.
Software Developer (Senior)
India India
I'm Dot net fullstack developer. Having extensive experience in Microsoft technologies, Angular, CSS, bootstrap, Redux, React and Node js.
United States United States
Connecting a website to the payment processing networks is exceptionally difficult and typically beyond the expertise and technical resources of most online merchants. Instead, merchants can easily connect to the Authorize.Net Payment Gateway, which provides the complex infrastructure and security necessary to ensure fast, reliable and secure transmission of transaction data. Authorize.Net manages the routing of transactions just like a traditional credit card swipe machine you find in the physical retail world, however, Authorize.Net uses the Internet instead of a phone line. The Authorize.Net Payment Gateway is available 24/7 for processing transactions. We also offer a number of value-adding services to assist merchants in managing their businesses and protecting themselves from fraud. Additionally, the free, Authorize.Net Verified Merchant Seal can be added to a merchant's website to help build consumer confidence.
Software Developer (Senior)
United States United States
I have over 10 years of experience working with Microsoft technologies. I have earned my Microsoft Certified Technology Specialist (MCTS) certification. I'm a highly motivated self-starter with an aptitude for learning new skills quickly.
Software Developer (Senior)
United States United States
Chuck Peasley is a developer in Orange County, CA
Founder CodeProject
Canada Canada
Chris Maunder is the co-founder of and has been a prominent figure in the software development community for nearly 30 years. Hailing from Australia, Chris has a background in Mathematics, Astrophysics, Environmental Engineering and Defence Research. His programming endeavours span everything from FORTRAN on Super Computers, C++/MFC on Windows, through to to high-load .NET web applications and Python AI applications on everything from macOS to a Raspberry Pi. Chris is a full-stack developer who is as comfortable with SQL as he is with CSS.

In the late 1990s, he and his business partner David Cunningham recognized the need for a platform that would facilitate knowledge-sharing among developers, leading to the establishment of in 1999. Chris's expertise in programming and his passion for fostering a collaborative environment have played a pivotal role in the success of Over the years, the website has grown into a vibrant community where programmers worldwide can connect, exchange ideas, and find solutions to coding challenges. Chris is a prolific contributor to the developer community through his articles and tutorials, and his latest passion project, CodeProject.AI.

In addition to his work with, Chris co-founded ContentLab and DeveloperMedia, two projects focussed on helping companies make their Software Projects a success. Chris's roles included Product Development, Content Creation, Client Satisfaction and Systems Automation.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Technical Lead
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United States United States
I have been working in the IT industry for some time. It is still exciting and I am still learning. I am a happy and honest person, and I want to be your friend.
Founder SVBook Pte. Ltd.
Singapore Singapore
Eric Goh is a data scientist, software engineer, adjunct faculty and entrepreneur with years of experiences in multiple industries. His varied career includes data science, data and text mining, natural language processing, machine learning, intelligent system development, and engineering product design. He founded SVBook Pte. Ltd. and extended it with DSTK.Tech and DSTK.Tech is where Eric develops his own DSTK data science softwares (public version). Eric also published “Learn R for Applied Statistics” at Apress, and published some books at LeanPub, Google Books, Amazon kindle, and SVBook Pte. Ltd. He teaches the content at, Udemy, SkillShare, BitDegree, Simpliv, and developed 28 courses, 7 advanced certificates. Eric is also an adjunct faculty at Universities and Institutions.

Eric Goh has been leading his teams for various industrial projects, including the advanced product code classification system project which automates Singapore Custom’s trade facilitation process, and Nanyang Technological University's data science projects where he develop his own DSTK data science software (NTU version). He has years of experience in C#, Java, C/C++, SPSS Statistics and Modeller, SAS Enterprise Miner, R, Python, Excel, Excel VBA and etc. He won Tan Kah Kee Young Inventors' Merit Award 2007, and Shortlisted Entry for TelR Data Mining Challenge.

Eric holds a Masters of Technology degree from the National University of Singapore, an Executive MBA degree from U21Global (currently GlobalNxt) and IGNOU, a Graduate Diploma in Mechatronics from A*STAR SIMTech (a national research institute located in Nanyang Technological University), Coursera Specialization Certificate in Business Statistics and Analysis (Excel) from Rice University, IBM Data Science Professional Certificate (Python, SQL), and Coursera Verified Certificate in R Programming from Johns Hopkins University. He possessed a Bachelor of Science degree in Computing fr
Software Developer (Senior) Mindtree
India India
I am a person who thinks in varied directions rather than sticking or thinking the usual way and has tendency to learn new things........ always
Software Developer
United States United States
I'm an aspiring Developer recently started more and more interested towards ASP.NET and related technologies. I tend to love playing around with different technologies and get more hands on experience by working on different projects. My prime interest lies in Mobile Development(both native and hybrid) and have developed few basic application during my course of studies and work. Always up for a challenge and plan on to finish it through best possible approach.
Software Developer (Senior)
Israel Israel

  • Nov 2010: Code Project Contests - Windows Azure Apps - Winner
  • Feb 2011: Code Project Contests - Windows Azure Apps - Grand Prize Winner

United States United States
You may know us for our processors. But we do so much more. Intel invents at the boundaries of technology to make amazing experiences possible for business and society, and for every person on Earth.

Harnessing the capability of the cloud, the ubiquity of the Internet of Things, the latest advances in memory and programmable solutions, and the promise of always-on 5G connectivity, Intel is disrupting industries and solving global challenges. Leading on policy, diversity, inclusion, education and sustainability, we create value for our stockholders, customers and society.
This is a Organisation

42 members
Architect Interacx
United States United States
Home Page:

All my life I have been passionate about architecture / software design, as this is the cornerstone to a maintainable and extensible application. As such, I have enjoyed exploring some crazy ideas and discovering that they are not so crazy after all. I also love writing about my ideas and seeing the community response. As a consultant, I've enjoyed working in a wide range of industries such as aerospace, boatyard management, remote sensing, emergency services / data management, and casino operations. I've done a variety of pro-bono work non-profit organizations related to nature conservancy, drug recovery and women's health.
Software Developer Microsoft
China China
I started my programming career on .NET platform in early 2015. I have done many local and overseas application from scratch Currently I am working as Software Engineer at Microsoft Azure Team. I have couple of articles on Code Project and csharp corner. I occasionally post questions and answers on stackoverflow. My passion is to learn new technology through the professional approach.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior)
India India

Microsoft C# MVP (12-13)

Hey, I am Pranay Rana, working as a Team Leadin MNC. Web development in Asp.Net with C# and MS sql server are the experience tools that I have had for the past 5.5 years now.

For me def. of programming is : Programming is something that you do once and that get used by multiple for many years

You can visit my blog

StackOverFlow -
My CV :-


Team Leader
India India
I am Rajat Jaiswal from India. I am working as a Technology specialist in one of the reputed company in India with 12+ years of experience. I am a Microsoft Data Platform MVP & Alibaba Cloud MVP.
I have always had an affinity to learn something new in technology. Database, Web development, Cloud computing are the areas of my interests always.
I have been a regular contributor to technologies with more than 300+ tips. Learning & Sharing is one of my aims always. Writing blogs, delivering sessions, helping on forums is my hobby.
Software Developer
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Database Developer
United States United States
I am a database developer working for a SaaS company providing health benefits management software. I have about 8 years of experience working in several SQL database platforms including Microsoft SQL Server, IBM DB2, MySQL, Postgresql, SQLite and possibly others. I particularly enjoy database and query performance tuning.
Technical Lead
Pakistan Pakistan
I am a developer with more than 13 years of experience of working on various technologies such as Node.js, Java, and C#. Until recently I was working for a fortune 300 semiconductor manufacturing company as their principal integration engineer while helping them automate their B2B business processes on technologies such as EDI (X12/EDIFACT), AS2 and RosettaNet. Now I have my own freelance practice in addition to the development of my own products and services.
I also specialize in implementing middleware solutions on a variety of proprietary platforms, such as Microsoft Biztalk Server, IBM's Websphere Message Broker (later renamed to IBM Integration Bus), IBM Sterling B2B Integrator and Mulesoft. I am certified on both the aforementioned IBM integration platforms.
Cloud is another area of my expertise as I have experience in developing and deploying solutions on AWS, DigitalOcean, and Azure. Docker is a technology I frequently use while developing containerized microservices.
In a nutshell backend development, automation, integration, services/APIs, and EDI is what I do for a living.
Software Developer (Senior)
Ukraine Ukraine
Individual software developer, good experience with PHP, Java, .Net, NodeJs, Ruby on Rails, JavaScript, LESS, CSS3, HTML5, jQuery, CoffeeScript, ExtJS, Backbone, AngularJS, AJAX, Amazon s3 services, Azure. Programming is not just my work, but more like a hobby. I'm glad to learn new pattern and technologies, making research and study new things. I work remotely for couple of years. More than nine years I'm writing commercial projects.
Software Developer
Germany Germany
I am Sibeesh Venu, an engineer by profession and writer by passion. I’m neither an expert nor a guru. I have been awarded Microsoft MVP 3 times, C# Corner MVP 5 times, DZone MVB. I always love to learn new technologies, and I strongly believe that the one who stops learning is old.

My Blog: Sibeesh Passion
My Website: Sibeesh Venu
Team Leader
India India
Microsoft MVP | Code Project MVP | CSharp Corner MVP | Author | Blogger and always happy to Share what he knows to others. MyBlog

My Interview on Microsoft TechNet Wiki Ninja Link
Software Developer (Senior) Freelancer
Australia Australia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Qatar Qatar
Working for Mowasalat (Karwa) as Solutions Manager. My prime interest is in helping local (Qatar) companies to come up with innovative solutions for public use.

Contest Entries and Requirements

  1. The contest period covers the the first day of the month 12AM US Eastern Standard Time and ends the final day of the month at 11:59:59 PM US Eastern Standard Time. All entries must be submitted during this period in order to qualify.
  2. Entries must be an article, or blog entry.
  3. With the exception of the Everything Else category, the article must be tagged with at least one of the tags corresponding to that competition's category (for example, to enter the C# Competition you would need to tag your article with a C# tag).
  4. Articles entries must follow the CodeProject submission guidelines.
  5. No cheating, lying, plagiarizing articles, chicanery, or kicking.
  6. Articles may only be considered for a single category. If an article is eligible for multiple categories (for example, it pertains to both the C# and Web Dev categories), CodeProject editors and judges will decide which category the article shall be entered in.
  7. No author can be nominated twice in the same category.
  8. If an author writes has two separate articles, each article may be considered in their respective categories provided none of the aforementioned rules are broken. For example, if an author wrote two separate articles, one related to C# and one related to VB.NET, the author and articles could be nominated in the C# and VB.NET competitions, respectively.
  9. In the event an author wins multiple competitions, and repeat, identical prizes, the number of prizes issued is solely at the discretion of the prize issuer.
  10. In the event an article has multiple authors and/or contributors, the number of prizes issued is solely at the discretion of the prize issuer.
  11. In the event of a tie,  the number of prizes issued is solely at the discretion of the prize issuer.
  12. Multiple votes from the same IP will be automatically disqualified.
  13. The judges’ decision is final and no correspondence will be entered into.
  14. Only those who live in jurisdictions in which this contest is legal may enter.
  15. Any breach of the rules and the prize will be awarded to the runner up.
  16. By entering the contest you agree to the rules, conditions of entry, and agree that your member alias and any submitted material can be used for promotional purposes by CodeProject.
  17. Entries shall be deemed to be submitted by the authorized account holder of the email address submitted at the time of entry unless clearly indicated otherwise. "Authorized account holder" is defined as the natural person who is assigned to an email address by an internet access provider, on-line service provider, or other organization (e.g. business, educational institution, etc.) that is responsible for assigning email addresses for the domain associated with the submitted email address.


This competition is open to software development professionals & enthusiasts who are of the age of majority in their jurisdiction of residence; however, residents of Quebec and of the following countries are ineligible to participate due to legal constraints: Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria. Employees (or a member of their immediate family) of CodeProject or any of their affiliates, subsidiaries, advertising or promotional agencies are also ineligible to participate. Void where prohibited by law.

How to Enter

Entry is by the submission process described above. Please read the submission requirements before submitting your entry and ensure the article is tagged with at least one of the tags corresponding to that competition's category.

Lost, late, misdirected, or illegible entries will be disqualified. Any entry containing content that CodeProject deems objectionable for any reason will be disqualified. All decisions of CodeProject with respect to any aspect of the competition, including, without limitation, the eligibility of entries, are final and binding on all entrants in all matters as they relate to this competition. CodeProject reserves its right to modify the Rules.

CodeProject assumes no responsibility for lost, late, delayed, destroyed or misdirected mail, voice messages, email or any computer errors or malfunctions. No correspondence will be entered into with entrants.

CodeProject does not assume any responsibility for incorrect or inaccurate capture of entry information, technical malfunctions, human or technical error, lost, delayed or garbled data or transmissions, omission, interruption, deletion, defect or failures of any telephone or computer line or network, computer equipment, software or any combination thereof. Entry materials/data that have been tampered with or altered are void. If for any reason, in the opinion of CodeProject in its sole discretion, the competition is not capable of running as originally planned, or if the administration, security, fairness, integrity or the proper conduct of the competition is corrupted or adversely affected, including by reason of infection by computer virus, bugs, tampering, unauthorized intervention, fraud, technical failures or any other causes beyond its control, CodeProject reserves its right to cancel, terminate, modify, amend, extend or suspend the competition including cancelling any method of entry, and select a winner from previously received eligible entries. CodeProject reserves its right in its sole discretion to disqualify any individual it finds to be tampering with the entry process or the operation of the competition or to be acting in violation of the Rules or otherwise in a disruptive manner. CodeProject reserves its right to seek remedies and damages to the fullest extent of the law for any attempts to deliberately damage the competition web site or to undermine the legitimate operation of this competition. CodeProject shall not be held responsible for any errors or negligence that may arise or occur in connection with the competition including any damage to an entrant's computer equipment, system, software or any combination thereof, as a result of their participation in this competition or from downloading any material from the competition website where applicable.

You must sign in to participate in this contest.
This contest has ended.
1 Apr - 30 Apr 2018