Hi, I'm Meerab, a Computer Science student passionate about software engineering and continuous learning.
I'm building this repository to strengthen my JavaScript fundamentals through structured practice, hands-on projects, and consistent problem-solving. Rather than rushing through tutorials, my focus is on understanding concepts deeply, writing clean code, and documenting my progress as I grow as a developer.
This repository reflects not only what I learn, but also how I learn.This repository reflects not only what I learn, but also how I think through problems, learn from mistakes, and improve over time.
A public engineering journal documenting my journey from JavaScript fundamentals to building real-world applications.
This repository is more than a collection of notes or tutorial code. It is a structured record of how I am learning JavaScript through deliberate practice, problem-solving, and project-based learning.
Every topic is studied from first principles, practiced with original code, reinforced through exercises, and documented with personal reflections. My goal is not simply to complete a course, but to develop a deep understanding of JavaScript and build the mindset of a software engineer.
- Build a strong foundation in modern JavaScript.
- Understand concepts instead of memorizing syntax.
- Practice by writing original code and solving problems.
- Develop clean coding habits from the beginning.
- Build consistent Git and GitHub workflows.
- Create projects that apply what I learn.
- Document my growth as a developer over time.
I believe programming is learned by building, experimenting, making mistakes, and reflecting on them.
Instead of copying solutions, I aim to understand why code works, explore different approaches, and improve through consistent practice.
Every completed topic should leave me capable of explaining the concept to someone else—not just writing the syntax.
Each topic in this repository follows the same learning process:
- 📖 Learn the concept.
- ✍️ Explain it in my own words.
- 💻 Practice with original examples.
- 🧩 Solve progressively challenging exercises.
- 🔍 Reflect on mistakes and lessons learned.
- ✅ Commit the completed milestone.
This workflow ensures that every commit represents genuine progress rather than copied tutorial code.
javascript-learning-journey/
│
├── README.md
├── .gitignore
│
├── 01-variables/
│ ├── README.md
│ ├── practice.js
│ └── exercises.js
│
├── 02-data-types/
│ ├── README.md
│ ├── practice.js
│ └── exercises.js
│
├── 03-operators/
│ ├── README.md
│ ├── practice.js
│ └── exercises.js
│
├── ...
│
├── mini-projects/
│
└── resources/
- Variables
- Data Types
- Operators
- Conditionals
- Loops
- Functions
- Arrays
- Objects
- Strings
- DOM Manipulation
- Events
- ES6+ Features
- Asynchronous JavaScript
- Fetch API
- Error Handling
- Modules
- Mini Projects
- Final Projects
Each completed topic includes:
- Personal notes
- Practice code
- Solved exercises
- Reflections and lessons learned
The commit history of this repository represents my learning journey and documents how my understanding evolves over time.
As I progress, I will build practical projects that apply the concepts learned throughout this repository.
Examples include:
- Calculator
- To-Do App
- Weather App
- Quiz App
- Expense Tracker
- API-based Applications
More projects will be added as my JavaScript skills grow.
Some of the resources that support this journey include:
- freeCodeCamp
- MDN Web Docs
- JavaScript.info
- Official ECMAScript Documentation
These resources are used to deepen understanding, while the explanations and code in this repository are written in my own words.
This repository serves three purposes:
- To document my growth as a developer.
- To build a strong JavaScript foundation through consistent practice.
- To create a learning resource that may also help other beginners.
This journey has just begun.
Every commit is one small step toward becoming a better software engineer, and this repository will continue to evolve as I learn, build, and improve.