w3resource

Daily Coding Challenges & Projects


Weekend


Frontend Mini Project Challenge (Updated)

Challenge :

Build a Countdown Timer with Start, Pause & Reset

Create a user-friendly countdown timer using HTML, CSS, and JavaScript.

    Requirements :

  • Allow users to set custom hours, minutes, and seconds.
  • Include Start, Pause, and Reset buttons.
  • Visually display the countdown with animated digits or a circular progress bar (optional).
  • Show a notification or sound alert when the timer hits zero.
  • Use localStorage or session state to retain timer state on accidental page reloads.

Backend Challenge

Language Focus : Scala, R, Swift (Vapor), TypeScript (Node.js + Express)

Scala :

Task: Create a lightweight task scheduler.

  • Users can define tasks with a delay (in seconds).
  • After the delay, the system prints a message like "Task executed".
  • Use Futures and Timers from the Scala standard library.

Bonus: Allow recurring tasks with intervals.


R :

Task: Build a simple API using plumber that:

  • Accepts a POST request with a list of numbers.
  • Returns basic stats: mean, median, standard deviation, and histogram image.
  • Use libraries like ggplot2, jsonlite, and plumber.

Bonus: Cache previous results for identical inputs.


Swift ( Vapor ) :

Task: Create a minimal URL shortener API.

  • Accept long URLs and return a short hash-based URL.
  • Redirect users who visit the short URL to the original one.
  • Store in-memory (or SQLite if available).

Bonus: Add expiration time for each short URL.

Database Query Challenge

Problems on SQL - HR Database :

  1. Write a SQL query to find employees who joined in the last 3 months.
  2. Write a SQL query to find employees who have not received a salary increase in the last 2 years.
Structure of HR database :

HR database



Data Structures & Algorithms Challenge

  • Easy:
    • Problem: Implement a function to reverse a string.
    • Hint: For the easy problem, consider using a loop to swap characters.
  • Medium:
    • Problem: Given an array of integers, find two numbers such that they add up to a specific target number.
    • Hint: For the medium problem, a hash map can be useful.
  • Hard:
    • Problem: Implement a trie (prefix tree) with insert, search, and startsWith methods.
    • Hint: For the hard problem, think about tree data structures.

Bug of the Day

Language Focus : Scala, R, Swift, TypeScript

Challenge :

Identify and fix the bug in the following TypeScript code snippet:

    Buggy Code:

    
    function greet(name: string) {
      console.log("Hello, " + Name);
    }
    greet("Alice");
    

Hint :

Pay attention to variable names and their case sensitivity.

📋 Daily Micro-Project

Backend :

Project :

Create a CRUD API endpoint in 30 minutes.

Task : Develop a simple RESTful API using Node.js and Express that allows users to create, read, update, and delete notes.


Trivia: 5 Fun Facts

  1. The first programmer was Ada Lovelace, the daughter of poet Lord Byron.
  2. The term "bug" in programming was popularized after a real moth was found causing issues in a computer.
  3. NASA still operates some projects on programming from the 1970s.
  4. There are over 700 programming languages.
  5. The first computer virus was called "Creeper

Tool & Resource of the Day

Tool : n8n – Workflow Automation Tool

Description :

n8n (pronounced "n-eight-n") is a powerful, open-source workflow automation tool that lets you connect apps, services, and custom logic — similar to Zapier, but with complete control and extensibility. It supports over 200 integrations and allows you to build complex workflows using a visual interface.

Link : https://www.langchain.com

Why Use It?

  • Open-source and self-hostable
  • Drag-and-drop workflow editor
  • Connect REST APIs, databases, cloud apps, and more
  • Customize with JavaScript functions
  • Schedule and trigger automated jobs

Interview Question of the Day

Daily Interview Questions

    Frontend :
    1. What is the difference between null and undefined in JavaScript?
    2. Explain how the event delegation pattern works in JavaScript.
    3. How does the Virtual DOM work in React, and why is it useful?
    4. What are the key differences between Vue.js computed properties and watchers?
    Backend :
    1. Explain the difference between synchronous and asynchronous programming in Node.js.
    2. What is the difference between a thread and a process?
    3. How does memory management work in Python?
    4. Explain how a RESTful API differs from GraphQL.
    Database :
    1. What is the difference between INNER JOIN and LEFT JOIN in SQL?
    2. How does indexing improve query performance in databases?
    3. What is the difference between NoSQL and SQL databases?
    Others :
    1. What are system calls in an operating system? Provide an example.
    2. What is containerization, and how does Docker help in deployment?

Daily Quiz Challenge

    Frontend :

    1. What is the output of console.log(typeof null);?
    2. Which CSS property is used to change the text color of an element?
    3. In React, what hook is used to manage state in a functional component?

    Backend :

    1. In Node.js, which module is used to create a server?
    2. What does SQL stand for?
    3. Which HTTP method is typically used to update existing data?

    Others :

    1. What is the purpose of a primary key in a database?
    2. What does the acronym API stand for?

Weekly Cross-Domain Activities (Updated) ( May 16 to May 22, 2025 )

API of the Day:

Use the NASA Astronomy Picture of the Day (APOD) API

Challenge :

Build a mini web app that fetches and displays the daily astronomy picture from NASA's APOD API with its title and description.


Linux/DevOps Tip :

Monitor Disk Usage with du and ncdu

Commands :

  • Use du -sh * to get a summary of disk usage by folder.
  • Use ncdu (if installed) for a more interactive and visual exploration of what's eating up space in your directories.

Real-World Project of the Week (Updated) ( May 16 to May 22, 2025 )

Project of the Week:

    Build a Blog Platform with Markdown Support

    • Use a backend like Node.js, Flask, or Django.
    • Use a markdown parser (like marked in JS or markdown in Python) to render posts.
    • Add support for categories, tags, and featured images.

Bonus : Allow login functionality to create/edit/delete posts.


Collaborative Project:

Create a “Dev Tools Hub” Web App.

  • A multi-tool app offering features like:
    • JSON formatter
    • UUID generator
    • Base64 encoder/decoder
    • Regex tester
  • Organize collaboration via GitHub and assign different tools to team members.

Case Study:

How Trello Works — Kanban Task Boards.

  • Study how Trello organizes cards, lists, and boards.
  • Build a mini Kanban board with drag-and-drop functionality using Sortable.js or native drag-and-drop API.
  • Focus on data modeling and client-server sync logic.

Previous Daily Coding Challenges & Projects : 04-04-2025   07-04-2025  08-04-2025  09-04-2025  10-04-2025  11-04-2025  14-04-2025  15-04-2025  16-04-2025  17-04-2025  18-04-2025  21-04-2025  22-04-2025  23-04-2025  24-04-2025  25-04-2025  28-04-2025  29-04-2025  30-04-2025  01-05-2025  02-05-2025  05-05-2025  06-05-2025  07-05-2025  08-05-2025  09-05-2025  12-05-2025  13-05-2025  14-05-2025  15-05-2025



Follow us on Facebook and Twitter for latest update.