JavaScript-Bro-Code

JavaScript Bro Code ๐Ÿš€

A complete, hands-on journey through JavaScript โ€” from the absolute fundamentals to asynchronous programming and real APIs โ€” built while learning from Bro Codeโ€™s JavaScript course. This repo contains 75+ topic-wise practice folders and 11 fully working mini/major projects, each committed step by step as the concept was learned.

๐Ÿ“– About

This repository documents my process of learning JavaScript from scratch: every core concept was practiced in its own folder, and once enough fundamentals were covered, that knowledge was applied to build real, interactive projects โ€” culminating in a full Weather App powered by a live API.

The goal isnโ€™t just to finish a course, but to genuinely understand how and why each concept works โ€” which is why every folder here represents a topic that was individually written, tested, and committed to Git.

๐Ÿ“š Topics Covered

๐Ÿ”ค Fundamentals - JavaScript Basics, Variables, Constants - Arithmetic Operators, Accepting User Input, Type Conversion - Math Object, Checked Property
๐Ÿ”€ Control Flow - If Statements, Ternary Operator, Switches - While Loop, For Loops - String Methods & String Slicing, Method Chaining
โš™๏ธ Functions & Scope - Functions, Variable Scope - Function Expressions, Arrow Functions - Callback Functions, Callback Hell
๐Ÿ“ฆ Arrays & Iteration - Arrays, Spread Operator, Rest Parameter - ForEach, Map, Filter, Reduce - Sorting, Shuffling Arrays
๐Ÿงฉ Objects & OOP - Objects, `this` Keyword - Constructors, Classes, Static Keyword - Inheritance, Super Keyword - Getters & Setters, Destructuring - Nested Objects, Arrays of Objects
โฑ๏ธ Advanced & Asynchronous JavaScript - Dates, Closures, setTimeout - ES6 Modules, Error Handling - Promises, Async/Await - JSON, Fetch API
๐Ÿ–ฑ๏ธ DOM Manipulation - DOM, Element Selectors, DOM Navigation - Adding & Changing HTML - Mouse Events, Key Events - Hide & Show, NodeLists, ClassList

๐Ÿ’ป Projects

Project Description
Counter Program Increment/decrement counter with click events
Random Number Generator Generates random numbers within a user-defined range
Temperature Conversion Converts temperature between Celsius and Fahrenheit
Dice Roller Simulates rolling a dice with a random outcome
Random Password Generator Generates secure, random passwords
Digital Clock Real-time digital clock updated using JavaScript
Stopwatch Start, stop, and reset stopwatch with live timing
Calculator Basic arithmetic calculator (add, subtract, multiply, divide)
Rock Paper Scissors Classic game with score tracking and DOM-based UI updates
Image Slider Auto-playing image carousel with next/previous controls and fade animation
๐ŸŒค๏ธ Weather App Fetches live weather data from an external API using fetch and async/await, and displays it dynamically on the page โ€” the capstone project combining DOM, JSON, and API skills learned throughout the course

๐Ÿ”— Live Demos

Click any project below to try it live โ€” no setup needed:

๐Ÿ› ๏ธ Tech Stack & Tools

๐Ÿ“‚ Repo Structure

Each folder is numbered in the order topics were learned, making it easy to follow the progression from basics to advanced concepts:

01_JavaScript_Basics/
02_Variable/
...
75_WeatherApp_Project/
Project01_07_Counter_Program/
Project02_09_Random_Number_Generator/
...

Every folder contains the practice files for that specific topic, with working code and comments explaining the logic.

๐ŸŒฑ What I Learned

Building this repo end-to-end helped me get comfortable with:

๐Ÿš€ Getting Started

To run any project locally:

  1. Clone the repo:
    git clone https://github.com/Kryptonae/JavaScript-Bro-Code.git
    
  2. Open the desired project folder in VS Code
  3. Open index.html in your browser (Live Server extension recommended)

๐Ÿ‘ค Author

Ashwani Kumar (@Kryptonae)


โญ If you found this helpful or interesting, feel free to star the repo and follow my progress!