A personal Web Development learning repository containing lesson exercises, classwork, homework, assignments, notes, and small projects.
The repository follows a gradual learning path from HTML and CSS to JavaScript, Git/GitHub, and Tailwind CSS.
Most examples are intentionally kept small and self-contained, making them useful for revisiting concepts, experimenting with variations, and understanding how code behaves in a browser or JavaScript runtime.
| Folder / File | Description |
|---|---|
HTML/ |
HTML lessons covering page structure, lists, tables, forms, semantic tags, media tags, classwork, and homework. |
CSS/ |
CSS lessons covering selectors, fonts, colors, backgrounds, box model, display, positioning, units, Flexbox, Grid, transitions, transforms, animations, and responsive design. |
JavaScript/ |
JavaScript lessons and practice covering fundamentals, conditions, loops, functions, built-in objects, arrays, objects, destructuring, spread/rest, modules, array methods, scope, lexical environments, execution context, hoisting, and closures. |
Git and GitHub/ |
Practice files and notes related to Git, GitHub, repositories, forking, and collaboration. |
TailwindCSS/ |
Tailwind CSS lesson examples, including responsive design and Tailwind CLI setup. |
Projects/ |
Larger practice projects such as Mini Project, Tailwind Portfolio, and ThreadCo. |
interviewQuestions.txt |
A collection of web development and programming interview questions. |
.gitignore |
Git ignore rules for dependencies and selected project directories. |
Lessons are generally organized using a lecture number + topic name format.
For example:
CSS/
βββ Lec-13 Flexbox/
βββ Lec-14 Grid/
βββ Lec-15 Responsive Design/
JavaScript/
βββ Lec-37 Closures/
βββ Lec-38 Scope/
βββ Lec-39 Execution Context/
CWβ ClassworkHWβ HomeworkAssignmentβ Practice questions or assignmentsindex.htmlβ Main HTML demonstrationstyle.cssβ Stylesheetindex.jsβ JavaScript demonstration
Not every lesson follows exactly the same naming convention, so check the files inside the relevant lesson folder.
HTML and CSS examples can usually be opened directly in a browser.
For example:
HTML/
βββ Lec-01 Basics/
βββ index.html
Simply open the .html file in your browser.
If the page uses a CSS file, make sure the existing folder structure is preserved so that relative paths continue to work.
You can also use a local development server such as Live Server in Visual Studio Code.
For JavaScript examples that interact with HTML or the browser:
- Open the corresponding
.htmlfile. - Open the browser's Developer Tools.
- Go to the Console tab.
- Check the output.
Standalone JavaScript files that do not depend on browser APIs can be executed using Node.js.
Example:
node "JavaScript/Lec-37 Closures/index.js"Tailwind CSS examples have their own package configuration inside their respective lesson directories.
Navigate to the required lesson folder:
cd "TailwindCSS/<lesson-folder>"Install the dependencies:
npm installRun the development script:
npm run devFor lessons that do not contain a dev script, check the lesson's package.json for the available Tailwind CLI command.
In Tailwind-based lessons:
input.css β Source stylesheet
output.css β Generated CSS
Avoid manually editing output.css when it is generated by the Tailwind build process.
Instead, make changes in the source files and rebuild the CSS using the configured command.
The Projects/ directory contains larger practice projects where multiple concepts are combined into complete web pages and interfaces.
Current projects include:
- π§© Mini Project
- π¨ Tailwind Portfolio
- ποΈ ThreadCo
Each project may have its own setup requirements.
For project-specific instructions, open the project's README.md file if available.
To work with this repository, you will generally need:
- π A modern web browser
- π’ Node.js for standalone JavaScript or Tailwind CLI examples
- π¦ npm for installing dependencies
- π» Visual Studio Code β recommended, but not required
- π΄ Git β recommended for version control
A simplified view of the repository:
Web Dev (Earners)/
β
βββ HTML/
β βββ Lec-01 ...
β βββ Lec-02 ...
β βββ ...
β
βββ CSS/
β βββ Lec-01 ...
β βββ Lec-02 ...
β βββ ...
β
βββ JavaScript/
β βββ Lec-01 ...
β βββ Lec-02 ...
β βββ ...
β
βββ Git and GitHub/
β βββ Practice/
β βββ Notes/
β
βββ TailwindCSS/
β βββ Lec-01 ...
β βββ Lec-02 ...
β βββ ...
β
βββ Projects/
β βββ Mini Project/
β βββ Tailwind Portfolio/
β βββ ThreadCo/
β
βββ interviewQuestions.txt
βββ .gitignore
βββ README.md
When adding or modifying files:
Keep examples inside their relevant lesson or project folders.
This helps preserve relative paths for:
- Images
- CSS files
- JavaScript files
- Other assets
Keep dependencies local to the projects or lessons that require them.
Do not commit:
node_modules/
If output.css is generated by Tailwind, modify the source stylesheet instead of manually editing the generated file.
The root .gitignore contains rules for ignored files and directories.
If a file does not appear when running:
git statuscheck .gitignore to make sure the file or directory is not being ignored intentionally.
The repository follows a rough learning progression rather than a strict course structure.
HTML
β
CSS
β
JavaScript
β
Git & GitHub
β
Tailwind CSS
β
Projects
Learn the fundamentals of web page structure:
- HTML elements
- Headings & paragraphs
- Lists
- Tables
- Forms
- Semantic HTML
- Media elements
Build styling and layout skills:
- Selectors
- Colors & fonts
- Box model
- Display
- Positioning
- Units
- Flexbox
- Grid
- Transitions
- Transforms
- Animations
- Responsive design
Learn programming and browser-side scripting:
- Variables
- Conditions
- Loops
- Functions
- Arrays
- Objects
- Built-in objects
- Array methods
- Destructuring
- Spread & Rest
- Modules
- Scope
- Lexical Environment
- Execution Context
- Hoisting
- Closures
Practice:
- Git basics
- Repository management
- Commits
- Branches
- GitHub
- Forking
- Collaboration
- Version control workflows
Learn utility-first CSS and responsive interfaces using Tailwind CSS.
Finally, combine the concepts learned throughout the repository into complete projects and interfaces.
This repository serves as my personal Web Development learning workspace.
It is mainly used for:
- π Learning new concepts
- βοΈ Practicing coding
- π§ͺ Experimenting with different approaches
- π Completing classwork and assignments
- π Revisiting previously learned topics
- π Building small projects
- π Tracking my learning progress
Learning by building, experimenting, and improving β one concept at a time. π