As with everything, practice makes perfect. You will want to start up new website projects to improve as a web developer. Coming up with new projects can be difficult, but hopefully, this will give you a couple of ideas to work on. If you can confidently make these projects, I would say you're a very competent developer.
#5 WordPress Blog
WordPress is a content management system(CMS). It requires minimal knowledge as a website developer to build fully capable websites. Many companies rely on WordPress. It is estimated that 455 million websites use WordPress. That means they power a whopping 30% of all websites. If you'll be freelancing or working with a company as a web developer, you can expect to work with WordPress eventually in your career. Be prepared and learn how to create self-hosted websites with WordPress. Creating a blog with WordPress is an excellent introduction.
#4 To-do List
Learning almost any new coding language related to design is often taught by making a to-do list. This is especially common when learning how to utilize a design framework. They're simple, yet teach nearly all of the fundamentals. By making a to-do list application, you show that you know how to make a dynamic piece of software that depends on user input. That is a critical skill as a website developer.
#3 Shopping website
Online shopping is growing rapidly and I can confidently say it is bound to stay for many years to come. They can range from simple bookselling on blogs to full shopping cart stores. Shopify powers hundreds of thousands of online shopping solutions. You could say that it is the WordPress of online shopping. Checking them out is highly recommended. The chances of working with them are high if you'll be working with shopping-related businesses. To build a fully customized shopping platform solution, you can work with payment processing services instead. Stripe and Paypal are my only go-tos as a payment processing service.
#2 Working with APIs
As a website developer, you need to know how to work with APIs. You could quickly develop an understanding of the REST standard by working with public APIs. That knowledge is particularly helpful if you plan to eventually expand your skill-base by becoming a full-stack software engineer. Find a bunch of free and fun APIs on this Github repository. Those public APIs can help you quickly develop a basic understanding of website APIs. A project idea is to use this weather API to make a weather app that displays the current temperature at a user-defined location. Learning to work with public APIs also build your documentation reading skills. An absolute necessity as a website developer.
APIs are needed to send requests to a server from an already loaded web-page. For example, on a page with comments, it is annoying to paginate by making the user need to redirect and load the page all over again. What you can do is make an API request that fetches older comments from your server and append that information to the comments section's HTML.
Creating a full-fledged forum from scratch has taught me nearly everything I know about website development. I'm sure if you made one, it would teach you a lot too. It isn't a small project. It is an entire CRUD application that can factor in nearly every part of online business. Creating a forum taught me to:
- Learn CRUD for handling threads and profile editing
- Create an efficient and scalable databases
- Create a secure account system
- Create a payment processing flow for premium accounts
- Understand various points of vulnerabilities. E.g XSS, HTTPS, headers, cookies, brute-forcing, etc.
Learning all of the above and so much more essentially made me a full-stack engineer.
If you believe you can confidently make a project involving all of the above, I would say you are a highly competent website developer. You should know how to work with a CMS, handle payments, work with APIs, and develop CRUD applications.