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:
- ๐ฆ๏ธ Weather App โ Real-time weather application using the Fetch API and asynchronous JavaScript
- โ๏ธ Rock Paper Scissors โ Classic game with score tracking and interactive UI
- ๐งฎ Calculator โ Basic arithmetic calculator built with JavaScript
- โฑ๏ธ Stopwatch โ Start, stop, and reset stopwatch with live timing
- ๐ Random Password Generator โ Generates secure random passwords
- ๐ก๏ธ Temperature Conversion โ Converts temperatures between Celsius and Fahrenheit
- ๐ฒ Dice Roller โ Random dice rolling simulator with dynamic UI
- ๐ฏ Random Number Generator โ Generates random numbers within a custom range
- ๐ข Counter Program โ Simple increment/decrement counter with DOM manipulation
- ๐ Digital Clock โ Real-time digital clock updated using JavaScript
- ๐ผ๏ธ Image Slider โ Auto-playing image carousel with next/previous controls and fade animation
- JavaScript (ES6+) โ core language
- HTML5 & CSS3 โ structure and styling for projects
- VS Code โ code editor
- Git & GitHub Desktop โ version control
- Git Bash โ command-line Git operations
๐ 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:
- Writing clean, readable JavaScript from scratch
- Debugging real issues (case sensitivity, CSS specificity, scope errors, undefined variables)
- Working with the DOM to build interactive UIs
- Handling asynchronous operations and consuming real-world APIs
- Using Git and GitHub properly โ commits, pushes, and version control as a daily habit
๐ Getting Started
To run any project locally:
- Clone the repo:
git clone https://github.com/Kryptonae/JavaScript-Bro-Code.git
- Open the desired project folder in VS Code
- 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!