cft

Are you a fan of project-based learning? Here are 4 ideas for your next practice session.

Project-based learning is one of the most recommended approaches to taking up new programming languages or libraries. In this article, we'll go through a list of project ideas I curated that you can use for your next practice session.


user

Kenneth Angelo Reyes

3 years ago | 2 min read

Project-based learning is one of the most recommended approaches to taking up new programming languages or libraries.

Most of the time, it's tough to think of the next project you'd like to play around with. Well, I got you! I have curated a list of project ideas you can use for your next practice session.

For each idea, we'll explore the following:

  • The Requirements
  • The Concepts You'll Practice

Additionally, each project is composed of these 3 components:

  • Frontend
  • APIs
  • Database

Lastly, I won't be prescribing any specific language or platform to use for these projects. I'd recommend some 3rd party APIs for integration, but I'll leave this decision to you.

Now that all of that's out of the way, let's go through the list!

A Stripped-Down Instagram Clone

Requirements:

  • Allow users to upload photos
  • Allow users to upvote or downvote photos of other users
  • Setup a user's feed and prioritize showing photos of users they upvoted the most

Concepts you'll practice:

  • User management
  • Image optimization - displaying photos in different sizes and in multiple places requires optimization. Each image should be duplicated and resized according to the different display requirements.
  • Implementing a social network - learn how to model a social network and how to navigate and analyze that data

Event Registration Platform

Requirements:

  • Allow users to view and search upcoming events
  • Allow users to register for any event by submitting a simple form
  • Notify users via email 3 days and 1 day before any event they registered to.

Concepts you'll practice:

  • Simple and advanced search + Pagination - learn how to implement these via an API is one of the most common concepts that you'll need to be familiar with
  • 3rd Party Integration - learn how to integrate with a 3rd Party Service like MailChimp for email services

Group Chat App

Requirements:

  • Allow anonymous users to start a chat room and share the room's URL with their friends
  • Allow anonymous users to join a chat room by directly going to a room's URL

Concepts you'll practice:

  • Real-time Communications - Learn how to integrate into a real-time communication platform like Socket.io

Concert Ticketing Platform

Features:

  • Allow users to buy a number of seats for an upcoming concert
  • Once the user starts the checkout process, the user's seat selection will be temporarily reserved
  • The payment needs to be settled within 15 mins
  • If the user failed to complete payment by 15 minutes, the selected seats will be released for other users to take. Then, the user will need to try again.

Concepts you'll practice:

  • Reservation Logic - learn how to implement a reservation system with support for expiring tickets
  • 3rd Party Integration - learn how to integrate with a 3rd party payment platform like Stripe

Summary

So, that's it! Did you like any of the projects I listed? Which one will you start working on?

Glad that you've reached the end of this post. Let me know if you have other project ideas that other devs should pick up by sending them in the comments.


Hey, you! Follow me on Twitter!

Cover Photo by Lagos Techie on Unsplash

Upvote


user
Created by

Kenneth Angelo Reyes

I build apps then I write about the experience. All tweets are my own personal thoughts and opinions.


people
Post

Upvote

Downvote

Comment

Bookmark

Share


Related Articles