Check out my books on Amazon at https://www.amazon.com/John-Au-Yeung/e/B08FT5NT62
Subscribe to my email list now at http://jauyeung.net/subscribe/
In the software development world, practice makes perfect. Therefore, we should find as many ways to practice programming as possible.
In this article, we’ll look at some practice project ideas that level up our coding skills.
Emoji Translator
Emojis are icons that are used to represent expressions that people show on their faces to express their feelings.
There’re so many of them probably most people don’t know what they mean.
Therefore, we can make an emoji translator app so that we can translate emojis into English.
Emojis are parts of the standard Unicode character set so we can make a dictionary or map to convert emojis characters entered by users back to English.
Our emoji translator app would take inputs with emojis and then create the translation by making the copy of the string and then map the emojis inside back to their English equivalent.
To make it fancy, we can add a Clear button to clear the input value.
Meme Generator
We can let users enter text and add a picture to create memes from them with our app.
To make this easy, we use the HTML canvas to do that. To manipulate the canvas in a way that let us add text and images and then download the output, we can use some library like Konva to make that easier.
Konva also lets us add handles to transform objects like any photo editor, so that’s another great feature of Konva.
Typing Practice App
Making an app to let users practice their typing also gives us practice with making apps.
We take the typed input from the user and then check the inputted text against what we have that we ask the user to type.
We can do the check by splitting the string that’s typed in and do the same with the text that we asked the user to type and then check if each word is entered in the same order.
The questions can be rotated among as many questions as we like. We can either hard code them in our app or make an API to draw random questions.
We can make it even fancier by adding a UI to add or remove questions so that we can change the questions sets easily.
Also, we’ve to calculate the typing speed of the user by dividing the elapsed time since the session has started with the number of words typed in.
Therefore, we need a timer to calculate elapsed time since the user started typing.
Then we’ll get a nice typing practice apps that users can use.
Web Scraper
We can create a web scraper to get public information that we want to get from a website.
This way, we don’t have to search for the data manually.
We can use it to search one site or multiple sites. The data that it searches for can be anything under the sun.
In the process, we learn how to parse HTML and XML.
Tax Calculator
We can make our own app to calculate taxes that we’ve to pay after getting paid for our work.
It lets us set the tax rules and add the amount of income from each paycheck or job.
We can then use the tax rules to calculate the tax amount that we have to pay based on the total amount that we received from our paychecks.
Deal Finder
We can build a deal finder app with something like the eBay API to get us to search for the prices of products.
Other retailers like Wal-Mart, Best Buy, and others also have APIs to get their price and inventory data.
We just have to call those APIs to get the data and display them on our screen.
On our app, we can add a search box to search for items by making requests to those APIs with the search keywords.
If we can find what we want with those APIs, we can also scrape the data from websites and look at them.
If we’re scarping, then we should scrape too quickly so that our IP address won’t get blocked by the sites we’re scraping.
Conclusion
There’re lots of things that we can build that are useful for us to use and to practice our web development skills.
A typing tutor is easy to build and fun to use. Also, we can build our own emoji translator to translate emojis into English.
We can also build things to help us with purchases and taxes like a deal finder or tax calculator.