w3resource

Daily Coding Challenges & Projects


Weekend


Frontend Mini Project Challenge

Focus : HTML, CSS, and JavaScript

Build a "Dark Mode + Light Mode Toggle" using HTML, CSS, and JavaScript

Requirements :

  • Add a toggle button (switch or icon).
  • Store the user’s theme preference using localStorage.
  • Smooth transition (CSS) between themes.
  • Bonus : Animate the toggle using CSS transforms.

Hints :

  • Add .dark-mode to and update styles.
  • CSS transition: transition: background-color 0.3s, color 0.3s;
  • JS : localStorage.setItem("theme", "dark")

Backend Challenge

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

Scala Backend Challenge ( Akka HTTP ) :

Problem : Create an API endpoint:

GET /fibonacci/{n} → Return the n-th Fibonacci number.
  • Use Akka HTTP routing.
  • Handle invalid inputs with proper error messages.

R Backend Challenge (Data API) :

Problem : Build an R API endpoint using plumber :

  • Route : /summary
  • Accept CSV upload.
  • Return mean, median, max, min of numeric columns.

Swift Backend Challenge ( Vapor ) :

Problem : Create a Vapor route :

POST /reverse
  • Accepts JSON { "text": "Hello" }
  • Returns { "result": "olleH" }

TypeScript Backend Challenge (Node.js + TS)

Problem : Create an API endpoint using Express + TypeScript :

GET /users/active
  • Returns users active in the last 30 days.
  • Validate using zod.

Database Query Challenge

Problems on SQL - HR Database :

  1. Find all employees who have never received a salary increment.
  2. Find the top 3 highest-paid employees in each department.

HR database



Data Structures & Algorithms Challenge

  • Easy :
    • Problem : Check if an array is a palindrome (same forward & backward).
    • Hint : Compare arr[i] with arr[n-1-i].
  • Medium :
    • Problem : Given an array, return the length of the longest increasing subsequence (LIS).
    • Hint :
      • Use DP: dp[i] = LIS ending at i.
      • Or binary search optimization.
  • Hard :
    • Problem : Design a data structure that supports:
      • insert(x)
      • delete(x)
      • getRandom() — returns a random element in O(1).
    • Hint :
      • Use hash map + dynamic array.

Bug of the Day

Language Focus : Scala, R, Swift, TypeScript

    Buggy Code ( Scala ) :

    
    val numbers = List(1, 2, 3)
    println(numbers.map(x => x * 2))
    println(numbers(5)) // Bug
    

Task : Identify and fix.


    Buggy Code ( R ) :

    
    data <- data.frame(a=c(1,2,3))
    print(mean(data))
    
    

Task :Why error? Fix using correct column selection


    Buggy Code ( Swift ) :

    
    let name: String? = nil
    print(name.count)
    

Task : Fix nil handling.


    Buggy Code ( TypeScript ) :

    
    let val: number | string = 10;
    console.log(val.toFixed(2)) // Bug?
    

📋 Daily Micro-Project

Focus : Backend

Task :

Create a small JWT Authentication Service

  • /login → returns JWT
  • /profile → verify JWT
  • /logout → blacklist token
  • Use any backend language (Scala/R/Swift/TS)

Bonus : Token expiry checker.

Trivia: 5 Fun Facts

  • Set 1 :
    • Python was named after "Monty Python."
    • Java was originally called Oak.
    • Linux was written by Linus Torvalds at age 21.
    • WWW was invented by Tim Berners-Lee in 1989.
    • Git was created by Linus Torvalds.
  • Set 2 :
    • The first computer bug was a real moth.
    • JSON was created by Douglas Crockford.
    • PHP originally stood for "Personal Home Page."
    • Go was created at Google in 2007.
    • React was open-sourced in 2013 by Facebook.
  • Set 3 :
    • SQL was developed at IBM in 1970s.
    • The first website is still online.
    • Linux mascot "Tux" was designed in 1996.
    • C language was created at Bell Labs.
    • The original name of JavaScript was Mocha.
  • Set 4 :
    • The first website is offline now.
    • Gmail started as a 20% Google side project.
    • Apple’s first logo showed Isaac Newton.
    • Unicode has 150,000+ characters.
    • The term “bug” dates back to 1878 (Edison).
  • Set 5 :
    • IBM’s ENIAC weighed 27 tons.
    • Apple used to sell clothing in 1980s.
    • MySQL is named after co-founder’s daughter (“My”).
    • Python’s package installer is younger than the language.
    • Rust won “most loved language” many years.

Tool & Resource of the Day

Tool : Postman

Best API testing & automation tool.

Resource Roundup :

  • TypeScript Handbook (free)
  • MDN Web Docs
  • PostgreSQL Query Optimization Guide
  • React Beta Docs
  • "Scala at Light Speed" free PDF

Interview Question of the Day

Daily Interview Questions

    Frontend :
    1. What is the difference between v-if and v-show in Vue?
    2. Explain event bubbling in JavaScript.
    3. What causes React re-renders?
    4. What is CSS specificity? How is it calculated?
    Backend :
    1. Explain immutability in Scala.
    2. How does R handle vectorized operations?
    3. What are optionals in Swift?
    4. Explain TypeScript type narrowing.
    Database :
    1. What is a CTE?
    2. Why use indexes?
    3. Difference between GROUP BY and window functions?
    Others :
    1. What is CI/CD?
    2. What does a load balancer do?

Daily Quiz Challenge

    Frontend :

    1. What does computed do in Vue?
    2. CSS : What does transform: scale(1.2) do?
    3. What is a React Hook?

    Backend :

    1. Scala : What is pattern matching?
    2. R : What is a dataframe?
    3. TypeScript : What is a union type?

    Database :

    1. What does the SQL HAVING clause do?

    Other Tech :

    1. What is a container image?

    Mixed Quiz :

    1. JS : Output of typeof null?
    2. SQL : Purpose of ORDER BY?
    3. Backend : What is an API?

Weekly Cross-Domain Activities ( December 05 to December 11, 2025 )

API of the Day:

Integrate OpenWeatherMap API

  • Build /weather?city=
  • Show temperature, humidity, conditions.

Linux / DevOps Tip :

10 commands to monitor server health :

top, htop, df -h, du -sh, ps aux, systemctl status, journalctl, iostat, free -m, uptime. 

Real-World Project of the Week ( December 05 to December 11, 2025 )

Project of the Week:

Build a Full Authentication System (frontend + backend + JWT).

Collaborative Project :

Contribute to an open-source:

Awesome-Dev-Templates GitHub repo.

Case Study :

Study how Twitter handles real-time updates (WebSockets, queues, caching).


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  16-05-2025  19-05-2025  20-05-2025  21-05-2025  22-05-2025  23-05-2025  26-05-2025  27-05-2025  29-05-2025  30-05-2025  02-06-2025  03-06-2025  04-06-2025  05-06-2025  06-06-2025  09-06-2025  10-06-2025  11-06-2025  12-06-2025  13-06-2025  16-06-2025  17-06-2025  18-06-2025  19-06-2025  20-06-2025  23-06-2025  24-06-2025  25-06-2025  26-06-2025  27-06-2025  30-06-2025  01-07-2025  02-07-2025  03-07-2025  04-07-2025  07-07-2025  08-07-2025  09-07-2025  10-07-2025  11-07-2025  14-07-2025  15-07-2025  16-07-2025  17-07-2025  18-07-2025  21-07-2025  22-07-2025  23-07-2025  24-07-2025  25-07-2025  28-07-2025  29-07-2025  05-08-2025  06-08-2025  07-08-2025  11-08-2025  12-08-2025  13-08-2025  14-08-2025  15-08-2025  18-08-2025  19-08-2025  20-08-2025  21-08-2025  22-08-2025  25-08-2025  26-08-2025  27-08-2025  28-08-2025  29-08-2025  15-09-2025  16-09-2025  17-09-2025  19-09-2025  11-10-2025  22-11-2025  24-11-2025  25-11-2025  26-11-2025  28-11-2025  01-12-2025  02-12-2025  03-12-2025  04-12-2025



Follow us on Facebook and Twitter for latest update.