Skip to content

prachi-kurmi/30_Days_js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

30_Days_js

Day 1 (Variables and Datatypes)

  1. Know how to declare variable using var , let and const.
  2. Understand the different data types in javascript.
  3. Be able to use the typeof operator to identify the datatype of a variable.
  4. Understand the concept of variable reassignment and the immutability of const variables.

Day 2 (Operators)

  1. Understand the use arithmetic operators to perform basic calculations.
  2. Use assignment operators to modify variable values.
  3. Compare values using comparsion operations.
  4. Combine conditions using logical operators.
  5. Use the ternary operator for concise conditonal expressions.

Day 3 (Control Structures)

  1. Implement and understand basic if-else control flow.
  2. Use nested if-else statements to handle multiple conditions.
  3. Utilize switch case for control flow concise condition checking.
  4. Apply the ternary operator for concise condition checking.
  5. Combine mutiple conditions to solve more complex problems.

Day 4 (Loops)

  1. Undertsand and use for loops to iterate over a sequence of numbers.
  2. Utilize while loops for iteration based on a conndition.
  3. Apply do... while loops to ensure the loop body is executed at least once.
  4. Implement nested loops to solve more complex problems.
  5. Use loop control statements (break and continue) to control the flow of loops.

Day 5 (Functions)

  1. Understand and define functions using function declaration, expressions, and arrow functions.
  2. Use function parameters and default value effectively.
  3. Create and utilize higher-order functions.
  4. Apply functions to solve common problems and perform calculations.
  5. Enhance code reusability and organization using functions.

Day 6 (Arrays)

  1. Create and manipulate arrays by using various methods.
  2. Transform and aggregate array data using map, filter, and reduce.
  3. Iterate over arrays using loops and iteration methods.
  4. Understand and work of multi-dimensional arrays.

Day 7 (Objects)

  1. Create and manipulate objects with properties and methods.
  2. Understand and use the this keyword in object methods.
  3. Work with nested objects and arrays of objects.
  4. Iterate over an objects's properties using loops and built-in methods.

Day 8 (ES6+Features)

  1. Understand and use templates literals for string interpolation and multi-line strings.
  2. Apply destructing to extract values from arrays and objects.
  3. Utlize spread and rest opearators for array manipulation and funcion arguments.
  4. Define functions with default parameters.
  5. Create objects using enhanced object literals, including methods and computed property names.

Day 9 (DOM Manipulation)

  1. Select and manipulate DOM elements using Javascript.
  2. Create and append new elements to the console.
  3. Remove elements from the DOM.
  4. Modify attributes and classes of HTML elements.
  5. Add and handle events to make web pages interactive.

Day 10 (Event Handling)

  1. Add and handle basic events like click, double-click, mouseover, mouseout, keydown, and keyup.
  2. Understand and handle form events.
  3. Implement event delegation to manage events on dynamically added elements.
  4. Make web pages interactive by reponding to various user action.

Day 11 (Promises & Async/Await)

  1. Understand and create promises, including handling resolved and rejected states.
  2. Chain multiple promises to perform sequential asynchronous operations.
  3. Use async/await to handle asynchronous code more readably.
  4. Fetch data from public APIs using both promises and async/await.
  5. Manage mutliple concurrent promises using Promise.all and Promise.race.

Day 12 (Error Handling)

  1. Understand and implement basic error handling using try-catch blocks.
  2. Use finally blocks to execute code regardless of the try-catch outcome.
  3. Create and use custom error classes.
  4. Handle errors in promises using .catch() and within async functions using try-catch.
  5. Implement graceful error handling when making network requests with the fetch API.

Day 13 (Modules)

  1. Create and export functions, objects, and constants using modules.
  2. Import modules using named and default imports.
  3. Use third-party modules installed via npm.
  4. Understand the basics of module bundling (optional).

Day 14 (Classes)

  1. Define and use classes with properties and methods.
  2. Implement inheritance to extend classes.
  3. Utilize static methods and properties.
  4. Apply getters and setters for encapsulation.
  5. Understand and use private fields in classes (optional).

Day 15 (Closures)

  1. Understand and create closures in Javascript.
  2. Use closures to maintain a private state and create encapsulated modules.
  3. Apply closures in practical scenarios like generating unique IDs and memoization.
  4. Use closures in loops to capture and use variables correctly.

Day 16 (Recusrion)

  1. Understand and implement basic recursion.
  2. Apply recursion to solve problems with arrays and strings.
  3. Use recursion for searching and counting elements in arrays.
  4. Perform tree traversal and calculate tree depth using recursion (Optional).

Day 17 (Data Structures)

  1. Implement and use Linked List for dynamic data storage.
  2. Use stacks for LIFO (Last-In-First-Out) operation and reverse data.
  3. Use queues for LIFO (Last-In-First-Out) operations and stimulate real-world scwenarios.
  4. Implement binary trees for hierarchical data storage and traversal.

Day 18 (Algorithms)

  1. Implement and understand common sorting algorithms.
  2. Implement and understand commom searching algorithms.
  3. Solve string manipulation problems using algorithms.
  4. Perform array operations using algorithms.

Day 19 (Regular Expressions)

  1. Understand and create basic regular expressions.
  2. Use character classes and quantifiers in regular expressions.
  3. Implement grouping and capturing in regular expressions.
  4. Apply assertions and boundaries in regular expressions.
  5. Use regular expressions for practical applications like validating passwords and URLs.

Day 20 (LocalStorage and SessionStorage)

  1. Understand how to use localStorage and sessionStorage for persistent and session-specific data storage.
  2. Save, retrieve, and remove data from both localStorage and sessionStorage.
  3. Implement form data storage using localStorage and sessionStorage.
  4. Compare and contrast the use cases for localStorage and sessionStorage.

Day 21 (LeetCode Easy)

  1. Solve common LeetCode problems.
  2. Apply problem-solving skills to implement algorithms.
  3. Understand and handle edge cases in algorithmic solutions.
  4. Gain confidence in solving easy-level coding challenges on LeetCode.

Day 22 (LeetCode Medium)

  1. Solve common medium-level LeetCode problems.
  2. Apply advance problem-solving skills to implement algorithms.
  3. Understand and handle edge cases in algorithmic solutions.
  4. Gain confidence in solving medium-level coding challenges on LeetCode.

Day 23 (LeetCode Hard)

  1. Solve complex LeetCode problems.
  2. Apply advance problem-solving skills to implement efficient algorithms.
  3. Understand and handle edge cases in hard algorithmic solutions.
  4. Gain confidence in solving Hard-level coding challenges on LeetCode.

Day 24 (Project-1 Weather App)

  1. Set up a basic project structure with HTML and CSS.
  2. Use the fetch API to retrieve and display weather data from a public API.
  3. Implement search functionality to fetch weather data for different cities.
  4. Display a 5-day forecast using data from a public API.
  5. Enhance the user interactive with icons and animations to make the weather app more interactive and visually appealing.

Screenshot 2024-08-06 100800

Screenshot 2024-08-06 100943

Day 25 (Project 2: Movie Search)

  1. Set up a basic project structure with HTML and CSS.
  2. Use the fetch API to retrieve and display movie data from a public API.
  3. Implement search functionality to fetch and display movie data based on user input.
  4. Fetch and display detailed information about selected movies.
  5. Enhance the user interface with CSS styles and animations to make the movie search app more interactive and visually appealing.

Screenshot 2024-08-07 123702

Screenshot 2024-08-07 130115

Screenshot 2024-08-07 130146

Day 26 (Project 3: Chat-App)

  1. Set up basic project structure with HTML ans CSS.
  2. Create a WebSocket server using Node.js and Express.
  3. Establish a WebSocket connection from the client side to send and receive messages.
  4. Build a chat interface to display and send messages.
  5. Add user authentication and display usernames in the chat.
  6. Enhance the user interface with CSS styles and animations to make the chat application more interactive and visually appealing.

Screenshot 2024-08-08 140045

Screenshot 2024-08-08 143707

Recording.2024-08-08.143615.mp4

Day 27 (Project-4: Task-Management)

  1. Set up a basic project structure with HTML and CSS.
  2. Implement task creation, reading, updating, and deletion functionalities.
  3. Handle form submission to create new tasks and display them in the task list.
  4. Update existing tasks and refresh the display with edited task details.
  5. Delete tasks from the list with a confirmation dialog to prevent accidental deletions.
  6. Style the task management app to make it visually appealing and user-friendly.

Screenshot 2024-08-09 134835

Screenshot 2024-08-09 135703

Recording.2024-08-09.135421.mp4

Day 28 (Project-5: E-Commerce)

  1. Set up a basic structure with HTML and CSS.
  2. Dynamically generate and display a product listing from product data.
  3. Implement a shopping cart that allows users to add products, update quantities, and remove items.
  4. Create a checkout form to collect user information and simulate the checkout process.
  5. Enhance the user interface with CSS styles to make the e-commerce website visually appealing and user-friendly.

Screenshot 2024-08-10 215143

Screenshot 2024-08-10 215546

Screenshot 2024-08-10 220534

Recording.2024-08-10.220314.mp4

Day 29 & Day 30 : (Project-6 Social-Media Dashboard)

  1. Set up a comprehensive project structure with HTML and CSS.
  2. Implement user authentication, including registration and login, with input validation.
  3. Create and update user profiles, displaying user information and allowing updates.
  4. Handle creating and displaying posts with user-specific details.
  5. Implement post interactions like liking and commenting, with real-time updates.
  6. Create a notification system to alert users of new interactions on their posts.
Recording.2024-08-14.222358.mp4

About

30-DAYS-JAVASCRIPT-CHALLENGE

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published