avatarTrevor-Indrek Lasn

Summary

The article provides a list of engaging coding projects, such as a Trello clone and a cryptocurrency tracker, aimed at helping developers enhance their skills through hands-on experience.

Abstract

The web content emphasizes the importance of practical application in becoming a top developer, likening coding proficiency to physical fitness that requires active practice rather than passive learning. It presents eight diverse projects, including a Trello clone, user admin dashboard, cryptocurrency tracker, webpack configuration, Hacker News clone, to-do app, sortable drag and drop list, and a messenger clone. Each project is designed to teach specific skills, from routing and API interaction to understanding native app development and web sockets. The article encourages the use of preferred technology stacks and offers resources like example repositories, APIs, and tutorials to support developers in building these apps.

Opinions

  • The author believes that reading alone is insufficient for development mastery; actual coding practice is crucial.
  • Building clones of existing applications is advocated as a valuable learning strategy.
  • The article suggests that developers should be versatile with their technology choices, promoting a conflict-free approach to technology stack selection.
  • The author implies that understanding the inner workings of tools like webpack is important for developers to effectively use them.
  • Engaging in challenging projects is seen as a way to keep developers motivated and continuously improving their skills.
  • The author values the educational benefits of building fundamental applications like to-do lists, despite their prevalence, to solidify core programming concepts.
  • The article suggests that developers should not only focus on web applications but also explore native app development to broaden their expertise.
  • By providing a link to additional coding challenges, the author indicates a commitment to supporting ongoing developer education and growth.

The Secret to Being a Top Developer Is Building Things! Here’s a List of Fun Apps to Build!

You can only become a great developer if you’re willing to put effort into itit. Imagine for a moment. You can’t become physically fit by reading a lot about fitness. You actually need to go to the gym and put in the hours and sweat! The same concept applies to code.

Here are eight fantastic projects to train your coding muscles. The goal is to build each app with whatever technology stack you prefer. Keep it conflict-free, use whatever you want!

Become a Medium Member to directly support my work. Thanks in advance!

Project 1. Trello Clone

Trello clone by Indrek Lasn — Demo Link

What you’ll learn from building a Trello clone:

  • Routing.
  • Drag and drop.
  • Creating new objects (boards, lists, cards).
  • Handling inputs and validation.
  • Client-side path: how to use local storage, save data to the local storage, and read data from the local storage.
  • Server-side path: how to use databases, save data to the database, and read data from the database.

Here’s the example Repository — created with React and Redux.

Project 2. User Admin Dashboard

Github Repository

Simple CRUD app, great for fundamentals. What you will learn:

  • Creating users, and managing users.
  • Interacting with a database — creating, reading, editing, and deleting users.
  • Input validation and how to work with forms.

Project 3. Cryptocurrency Tracker (Native Mobile App)

Github repository

Has to be a native app — Swift, Objective-C, React Native, Java, and Kotlin are allowed.

What you will learn:

  • How native apps work.
  • Fetching data from an API.
  • How native layouts work.
  • How to work with mobile simulators.

Use this API. Post in the comments if you find a better one.

In case you’re interested in how this was built, I wrote a tutorial for it.

Project 4. Setup Your Very Own Webpack Config From Scratch

Well, technically this is not an app, but it’s still extremely useful to understand how webpack works under the hood. No longer will it be a “black box”, but a strong tool under your belt.

Requirements:

  • Compile es7 to es5 (basics).
  • Compile .jsx to .js, or, .vue to .js (you will learn about loaders).
  • Setup of webpack dev server and hot module reloading. (vue-cli and create-react-app use both.)
  • Make a production-ready build, and deploy it using Heroku, now.sh or GitHub pages. (You will learn how to deploy webpack projects.)
  • Setup your favorite preprocessor to compile to plain CSS — SCSS, Less, Stylus.
  • Learn how to use images and SVGs with webpack.

Here’s a great resource to getting started for absolute beginners.

Project 5. Hacker News Clone

Everyone has built their own version of Hacker News — let’s not be an exception.

What you will learn is the following:

  • Interacting with the Hacker News API.
  • Creating single-page apps.
  • How to implement features, such as viewing comments, single comments, and profiles.
  • Routing.

Here’s the Hacker News API documentation.

Project 6. To-do App

TodoMVC

Really? A to-do app? How many of these are there already? Yes — I know. But hear me out — there’s a reason why they’re so popular.

A to-do app is a great way to ensure you learn the fundamentals. Try building it with plain vanilla JavaScript, and then one with your favorite framework/library.

What you will learn

  • Creating new tasks.
  • Validating fields.
  • Filtering tasks (completed, active, all). Make use of filter and reduce functions.
  • Understanding the fundamentals of JavaScript.

Project 7. A Sortable Drag and Drop List

Github repository

It’s very useful to understand the drag and drop API. It makes you really stand out from the rest if you’re able to create complex apps.

What you will learn:

  • Drag and drop API.
  • Creating rich UIs.

Project 8. A Messenger Clone (Native App)

Understanding how native apps and web apps work will make you stand out from the crowd.

What you will learn:

  • Web sockets (instant messaging).
  • How native apps work.
  • How layouts work in native.
  • Routing for native apps.

Conclusion

P.S: Looking for more coding ideas? Never run out of coding ideas, ever again. Get access here to a bunch of front-end challenges by me.

These should keep you busy for a month or two, pick something, and just build it! In case you need a little motivation push to get started, here’s a guide on “How To Stay Motivated As A Developer”.

Oh, and if you want to stay up to date — my newsletter is a fantastic resource for that.

Thanks for reading! ❤

JavaScript
Tech
Programming
Web Development
Mobile App Development
Recommended from ReadMedium