Everyone knows that skill is acquired by hard work mixed with passion. In order to become good at something, one must put in the effort.
Nothing good comes easy. If it’s hard, it’s worth doing. Most of us are excited to code, but frequently lack the ideas. Allow me to present some challenging, yet fun ideas to build.
Without further ado, let’s jump in!
Project #1: GraphQL powered Node.js Backend
GraphQL and Graphiql frontend
GraphQL has revolutionized the way we send and receive data. Absolutely worth your time to check it out.
- Setup a Node.js express server with MongoDB and graphQL.
- Ability to create, read, update, delete (CRUD) data.
- Fetch data from a simple front-end.
A terminal application is simply an application that runs inside the terminal.
Try starting small, and create a simple app that runs in the terminal. The mechanics behind terminal apps are very simple: you give some input and get back the output (I/O)
- Ask for the name of the user and output the results.
- Display some easy math equations and let the user input the value of the equation.
Project #3: Electron desktop application
Once again, start small and build on top of that. For example, start your electron application, create an input, and display the output to your terminal. If you’re familiar with web development, Electron will be very conventional.
Instagram is a convoluted application, and (re)building it will teach you a lot. Some of the highlights of what you will be learning by building Instagram are:
- Complex grid management (try to make use of the new CSS grid for extra brownies)
- Calling multiple API endpoints/data flow management (try to use GraphQL)
- Ability to deliver scalable and real world applications.
Feel free to use any technology as you see fit.
Project #5: Data visualization with D3.js
complex data visualization example — Source
This one really gets me excited. Let’s visualize a dataset with D3.js. You can pick any dataset from the link below.
Thank you very much for reading. I’m active on Twitter, mostly tweeting about new tech and learning sources.