w3resource

Daily Coding Challenges & Projects


Wednesday


Frontend Mini Project Challenge

Theme : Vue.js Components

Challenge :

Create a reusable Vue.js component named <ToggleSwitch> that switches between "On" and "Off" states.

Requirements :

  • Use v-model for two-way binding.
  • Accept on-label and off-label as props.
  • Emits a change event on toggle.
    
    
    <template>
      <button @click="toggle">
        {{ modelValue ? onLabel : offLabel }}
      </button>
    </template>
    
    <script>
    export default {
      props: ['modelValue', 'onLabel', 'offLabel'],
      emits: ['update:modelValue'],
      methods: {
        toggle() {
          this.$emit('update:modelValue', !this.modelValue);
        }
      }
    }
    </script>
    

Try It Online : Vue SFC Playground

Backend Challenge

Language Focus : Python & PHP

Python Task :

Write a function to rotate a matrix 90° clockwise in-place (without using extra matrix).


PHP Task :

Create a simple script that accepts a form submission (POST request), validates an email field, and stores data in a file or DB.

Database Query Challenge

Problems on SQL - HR Database :

  1. Find employees who joined in the last 3 months.
  2. Find departments where the average salary is below 60,000.

HR database



Data Structures & Algorithms Challenge

  • Easy:
    • Problem :Count the number of vowels in a string.
    • Hint :Use a set to match characters.
  • Medium:
    • Problem : Implement a queue using two stacks.
    • Hint :Stack 1 for enqueue, Stack 2 for dequeue.
  • Hard:
    • Problem :Detect a cycle in a directed graph using DFS.
    • Hint :Maintain recursion stack to detect back edges.

Bug of the Day

Language : Python

Python Bug

    Buggy Code:

    
    def append_to_list(val, lst=[]):
        lst.append(val)
        return lst
    
    print(append_to_list(1))
    print(append_to_list(2))  # Why does this include 1?
    
    

Bug : Default mutable argument is shared across function calls.

Fix : Use lst=None and initialize inside function.

📋 Daily Micro-Project

Database :

Task :

Design a normalized schema for a blogging platform:

  • Tables: Users, Posts, Tags, PostTags (many-to-many)
  • Add constraints, indexing for search by tag

Bonus : Add SQL to retrieve top 3 most-used tags.

Trivia: 5 Fun Facts

  1. Python was created by Guido van Rossum in 1991.
  2. PHP originally stood for Personal Home Page.
  3. Python’s name came from Monty Python, not the snake.
  4. The first database was IBM's IMS, in 1966.
  5. Vue.js was created by Evan You.

Tool & Resource of the Day

Tool : DB Fiddle

Test and share SQL queries with multiple DBMS support (MySQL, PostgreSQL, SQLite).

Resource Roundup :

  • SQLBolt – Interactive SQL tutorials
  • Vue Mastery – Free Vue.js courses
  • Awesome Python – Curated Python libraries

Interview Question of the Day

Daily Interview Questions

    Frontend ( Vue & JS ) :
    1. What are computed properties in Vue?
    2. How do watchers differ from computed properties?
    3. Explain the Vue lifecycle hooks.
    4. How does v-if differ from v-show?
    Backend ( Python, PHP ) :
    1. What is the GIL in Python?
    2. Difference between lists and tuples in Python?
    3. What are associative arrays in PHP?
    4. What is the difference between include, require, and require_once in PHP?
    Database :
    1. What is a foreign key?
    2. What is a self-join?
    3. When should you use a clustered index?
    Others :
    1. What is a scripting language?
    2. What is a CRON job?

Daily Quiz Challenge

    Frontend ( Vue & JS ) :

    1. Which directive binds a value in Vue?
      • v-text
      • v-model
      • v-if
    2. Which hook is called after the component is mounted?
    3. What does v-bind do?

    Backend ( Python & PHP ) :

    1. What is the output of print("".join(reversed("abc")))?
    2. What is the purpose of the super() function in Python?
    3. How do you create an associative array in PHP?

    Others :

    • DB : What is the difference between HAVING and WHERE?
    • General : What is an API gateway?

Weekly Cross-Domain Activities ( July 18 to July 24, 2025 )

API of the Day:

JokeAPI : Build a random joke app with categories and flags (NSFW filter).

Linux/DevOps Tip :

Use htop, iotop, and iftop to monitor CPU, disk, and network usage on Linux servers.

Real-World Project of the Week ( July 18 to July 24, 2025 )

Project of the Week:

Build a Task Manager App

  • Use React + Express + MongoDB
  • Support CRUD: Tasks with due dates, priority, and status
  • Implement filters (Today, Completed, Priority)

Collaborative Project:

Start a GitHub repo for this task manager and invite others to contribute (issues, PRs, README).

Case Study:

Analyze the GitHub UI/UX — Can you recreate the repository page using frontend tools?


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



Follow us on Facebook and Twitter for latest update.