Top Web Application project Ideas
Learning web/mobile development from scratch is very important. Getting your basics right about any kind of development is like putting the best foot forward. The best way to do this is through loads of practice such as building multiple projects with different scenarios. I highly recommend building a few small projects before building a comprehensive one, something that you can showcase in your profile.
Practicing for specific skills
Let’s start by understanding the list of skills you are required to practice.
- Visual design
- Client server applications ( API calls )
- Responsive design
- State management
- Session handling
- Local storage
- Complex routing
I generally recommend to start with simple projects and gradually build the complexity. I’ve listed a few projects that you can start with:
One of the simplest applications you can build is a simple ToDo list. Imagine a ToDo list you would create on a paper. You can adopt similar features for your application as well. Features such as add, remove, and update items in a list. This would help you understand state management and dynamic UI updates. This is also one of the most commonly asked interview project questions, where you are asked to build a simple ToDo list in either of your favorite UI frameworks.
Once you are done with the ToDo list, you can move to something a little bit complex like a contact list. Here, instead of simple todo items, you would enter multiple fields like first name, last name, phone number, email address, and so on. You can build complexity as per your comfort level such as implementing client-side validation by restricting users from entering invalid values.
To add some advanced level features, you can provide search capability to look up a contact by name. You can also provide the ability to export contact for users to PDF or comma separated value (CSV) file.
Games are fun to build and when you are learning something new, you don’t want to get bored. TicTacToe Game is pretty simple UI-wise. However, you can build complexity by building a 4x4 or 5x5 matrix instead of native 3x3 matrix. You can even allow users to store the result to a server to keep a track of scores.
If you love building games, here are some more options. Simon says, Minesweeper, or Memory games are a few low to mid level games. If you want to build something more complex you can build Sudoku, Pong, or Snake games.
If you want to build a more data-centric app, you can build a mini YouTube clone using YouTube’s API. Yes, YouTube does provide an API that you can use to build your own little version of YouTube. Use this API: https://developers.google.com/youtube/v3/code_samples/code_snippets
Aggregators are very useful sites, the basic concept of an aggregator site is to create your own version of software by using data from many different sites. Let’s take an example of coupons. Many eCommerce websites provide access to a list of their daily coupons. You can use many such data sources to get various lists of coupons and present them in your own format such that users have one place to get coupons for many different products. Once you have this working, you can actually monetize it becoming an affiliated vendor such that you get some money on every click a user makes from the site.
No matter what you build, if you don’t share it with the world it’s not much fun. So, make sure you upload to github, write a good readme file around using your app, add appropriate code comments, and market it on sites such as LinkedIn or add it to your resume profile. This is very important because if you put your github link in your resume, employers can judge your work by looking at the project and gauge your self-learning capabilities.
Do not forget to share your Github link in the comment below!