Skip to content

This is a structured learning and practice document for the early phase of learning Javascript: Variables and Functions.

edutechtammy/variables-and-functions-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Variables and Functions Practice

A learning project focused on JavaScript variables, functions, and modern web development practices.

Project Overview

This project serves as a comprehensive learning environment for JavaScript fundamentals, featuring:

  • Interactive Skills Tracking: Color-coded table with clickable progress bars for monitoring learning progress
  • Practice Workspace: Dedicated area for current coding exercises
  • Learning History: Archive system for reviewing past practice sessions
  • Persistent Data: Progress automatically saved to browser storage

Technologies Used

  • HTML5: Semantic structure with modern layout techniques
  • CSS3: Grid layout system with responsive design and interactive progress bars
  • JavaScript: Variables, functions, DOM manipulation, and localStorage practice

Features

📊 Interactive Skills Tracking System

  • 26 trackable sub-skills across 4 main categories (HTML5, JavaScript, DOM, Functions)
  • Color-coded progress bars matching each skill category theme
  • 4-level progression: Not Started (0%) → Practicing (33%) → Proficient (66%) → Mastery (100%)
  • Click to advance: Interactive progress bars that cycle through skill levels
  • Persistent tracking: Progress automatically saved to browser localStorage
  • Visual feedback: Smooth animations and color-coordinated themes

🎨 Modern CSS Grid Layout

  • Responsive design that adapts to different screen sizes
  • Mobile-first approach with intelligent breakpoints
  • Semantic HTML structure for accessibility
  • Optimized learning flow: Skills → Current Practice → Learning History

🎯 Learning Organization

  • Current Practice: Active workspace for new concepts
  • Learning History: Full-width archived practice sessions for easy review
  • Organized Structure: Grid-based layout optimizing space for each learning phase

File Structure

├── index.html          # Main HTML file with semantic structure
├── myStyles.css        # Comprehensive stylesheet with Grid layout
├── myJavascript.js     # JavaScript practice and exercises
└── README.md          # Project documentation

CSS Features Demonstrated

  • CSS Grid Layout: Modern 2D layout system with named grid areas
  • Responsive Design: Mobile-first with breakpoints at 768px and 1024px
  • Interactive Progress Bars: Custom CSS animations and hover effects
  • Color Theming: Coordinated color schemes for each skill category
  • Modern CSS: Custom properties, gradients, transitions, and accessibility features
  • Advanced Selectors: Pseudo-elements, attribute selectors, and descendant combinators

JavaScript Concepts Covered

  • Variables and data types: let, const, var, and primitive types
  • Functions and scope: Declaration, parameters, return values, and closures
  • DOM manipulation: Element selection, content modification, and event handling
  • Data persistence: localStorage API for saving user progress
  • Event handling: Click events, event delegation, and user interaction
  • Modern ES6+ features: Object destructuring, template literals, and arrow functions
  • Error handling: try/catch blocks and debugging techniques

Learning Goals

This project demonstrates proficiency in:

  1. HTML5 Structure: Semantic elements and accessibility best practices
  2. CSS Grid & Flexbox: Modern layout techniques with responsive design
  3. JavaScript Fundamentals: Variables, functions, DOM interaction, and data persistence
  4. Interactive UI Development: Progress tracking with visual feedback
  5. Modern Development Practices: Commenting, naming conventions, and code organization
  6. Git Workflow: Version control and GitHub integration

Getting Started

  1. Clone the repository
  2. Open index.html in a web browser
  3. Click progress bars to track your learning progress
  4. Use the practice workspace for coding exercises
  5. Progress is automatically saved and persists across browser sessions
  6. Archive completed work in the learning history section

Git Workflow for Learning Milestones

This project includes a structured Git commit template to help track learning progress professionally:

Commit Template Structure

The repository is configured with a custom commit message template that captures:

  • Skill area and level reached in the subject line
  • What you accomplished during the session
  • What you learned (new concepts, insights)
  • What you struggled with (challenges, bugs, confusion)
  • Next session goal (what to focus on next)
  • Files updated (which files were modified)

How to Use the Template

  1. Make your code changes and update progress bars as you learn
  2. Stage your files: git add . (or specific files)
  3. Commit with template: git commit (opens template in editor)
  4. Fill in the template with your learning details
  5. Save and close to complete the commit

Example Commit Message

Learning Milestone: DOM Manipulation - Practicing

What I accomplished:
- Added event listeners to all progress bars
- Implemented localStorage for progress persistence
- Created smooth transition animations

What I learned:
- How addEventListener works with click events
- localStorage.setItem() and getItem() methods
- CSS transitions can be triggered by class changes

What I struggled with:
- Understanding event delegation vs individual listeners
- Debugging why progress wasn't saving initially

Next session goal:
- Add form validation to practice workspace
- Implement export/import for progress data

Files updated: index.html, myJavascript.js, myStyles.css

AI Collaboration for Commits

When you want help creating commit messages, use this phrase:

Help me commit these changes using the learning milestone template in my HTML comment (lines 14-24). Here's what I accomplished this session: [describe what you did]

This approach ensures your Git history becomes a comprehensive learning journal while maintaining professional development practices.

How to Use the Progress Tracking

  1. Click any progress bar to cycle through: Not Started → Practicing → Proficient → Mastery
  2. Progress automatically saves to your browser's localStorage
  3. Color themes help identify skill categories at a glance
  4. Goal entries remain as text labels (no progress bars)
  5. Reload the page - your progress is preserved!

Future Enhancements

  • Export/Import functionality for progress data backup
  • Daily learning log integration with progress tracking
  • Code syntax highlighting for practice examples
  • Search functionality for finding specific skills or archived code
  • Additional skill categories (APIs, Testing, Build Tools)
  • Progress analytics and learning streak tracking

Author

Tammy Moore - Learning JavaScript fundamentals and modern web development practices.


This project serves as both a learning tool and a demonstration of modern web development techniques.

About

This is a structured learning and practice document for the early phase of learning Javascript: Variables and Functions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published