w3resource

Daily Coding Challenges & Projects


Tuesday


Frontend Mini Project Challenge

CSS Animation

Challenge :

Create a CSS Hover Glow Animation on Buttons

Objective : Create a button that glows and pulses when hovered.

Specs :

  • Use @keyframes and box-shadow.
  • No JavaScript allowed.
  • Should have a smooth infinite glow effect on hover.

Live Playground Suggestion : Use JSFiddle or CodePen

Backend Challenge

Java / Kotlin

Challenges :

Design a Class to Represent a Bank Account with Transaction Logs

Requirements :

  • Track deposits, withdrawals with timestamps.
  • Use OOP principles.
  • Print account balance and transaction history.
  • Use ArrayList or List to manage history.

Bonus :

  • Add feature to filter transactions by type (deposit/withdrawal).

Optional Prompt:

In Kotlin, use data class and sealed class for transaction types.

Database Query Challenge

Problems on SQL - HR Database :

  1. Find departments with more than 5 employees.
  2. List employees who haven’t changed departments since they were hired.
Structure of HR database :

HR database



Data Structures & Algorithms Challenge

  • Easy:
    • Problem: Find the first non-repeating character in a string.
    • Hint: Use a hash map to track character frequency.
  • Medium:
    • Problem: Implement a Min Stack (stack supporting push, pop, top, and getMin in O(1)).
    • Hint: Maintain a secondary stack for current minimums.
  • Hard:
    • Problem: Find the longest path in a binary tree where each node has the same value.
    • Hint: Use DFS and return path length from each subtree.

Bug of the Day

Language Focus : Java / Kotlin

Language: Java

    Buggy Code:

    
    public class Main {
        public static void main(String[] args) {
            int[] arr = new int[5];
            for (int i = 0; i <= arr.length; i++) {
                arr[i] = i * 2;
            }
            System.out.println(Arrays.toString(arr));
        }
    }
    
    

Challenge :

  • Find and fix the issue in the above code.
  • Hint : Look at the loop condition and array indexing.

📋 Daily Micro-Project

Backend :

Challenge :

Create a simple REST API in Java or Kotlin ( Spring Boot )

Endpoint : /api/greet?name=John

Response : { "message": "Hello, John!" }


Bonus : Add timestamp in the response.

Trivia: 5 Fun Facts

  1. Kotlin is officially supported by Google for Android development since 2017.
  2. CSS3 introduced transitions and animations.
  3. Java was originally named “Oak”.
  4. The term “bug” was popularized by Grace Hopper.
  5. The first computer programmer is considered to be Ada Lovelace.

Tool & Resource of the Day

Tool : Spring Initializr

Description :

Quickly bootstrap your Spring Boot applications.

URL: https://start.spring.io/

Resource Roundup:

Interview Question of the Day

Daily Interview Questions

    Frontend ( CSS/JS ) :
    1. How does z-index work in CSS and what are stacking contexts?
    2. What’s the difference between em, rem, %, and px units?
    3. Explain transition and transform in CSS.
    4. How can you create a responsive layout using Flexbox?
    Backend ( Java/Kotlin ) :
    1. What’s the difference between an abstract class and an interface in Java?
    2. How does exception handling work in Kotlin?
    3. What is the JVM and how does it work?
    4. What is the use of suspend in Kotlin?
    Database :
    1. Explain ACID properties in databases.
    2. What is a composite key?
    3. What is the difference between UNION and UNION ALL?
    Others :
    1. What is a virtual machine in computing?
    2. How is CI/CD used in modern DevOps?

Daily Quiz Challenge

    Frontend ( CSS ) :

    1. Which CSS property controls the speed of transition effects?
    2. What does transform: scale(1.5); do?
    3. What is the default value of position in CSS?

    Backend ( Java/Kotlin ) :

    1. What is the default access modifier in Java?
    2. Which keyword is used for coroutine support in Kotlin?
    3. How do you define a record in Java?

    Database :

    1. What does the GROUP BY clause do?

    Others :

    1. Docker is primarily used for...?

    Mixed Quiz :

    1. JavaScript is a ___ typed language? (Static/Dynamic)
    2. What is the SQL keyword for combining rows from two queries?
    3. What’s the difference between var, let, and const in JavaScript?

Weekly Cross-Domain Activities ( May 09 to May 15, 2025 )

API of the Day:

NASA Astronomy Picture of the Day (APOD) — Use NASA's APOD API to fetch the image or video of the day along with its description, and display it in a simple UI.

Challenge :

Build a gallery-style viewer where users can:

  • See today’s image
  • Browse previous days using a calendar or buttons
  • Read accompanying explanations

Resource:

Linux/DevOps Tip :

Monitor disk I/O and performance using iotop, sar, and glances

Commands to Explore :

  • iotop – Monitor real-time I/O usage by processes
  • sar – Collect, report, or save system activity information
  • glances – A cross-platform monitoring tool with an elegant web UI

Real-World Project of the Week ( May 09 to May 15, 2025 )

Project of the Week:

    Build a Budget Tracker Web App — Develop a web-based expense tracker where users can:

    • Add, categorize, and delete transactions
    • View monthly summaries and pie charts
    • Store data locally or connect to a backend for persistence

Tech Stack : HTML, CSS, JavaScript (with Chart.js for graphs)

Collaborative Project:

    Join the First Contributions GitHub Project — Learn how to make your first open-source pull request and contribute to beginner-friendly repositories with guided instructions.

Case Study:

    Explore Trello's Task Management UI — Analyze how Trello manages drag-and-drop task organization with React and libraries like react-beautiful-dnd.

Challenge :

Try building a minimal Kanban board with drag-and-drop cards and persistent state.


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



Follow us on Facebook and Twitter for latest update.