A learning project focused on JavaScript variables, functions, and modern web development practices.
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
- 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
- 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
- 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
- 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
├── 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 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
- 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
This project demonstrates proficiency in:
- HTML5 Structure: Semantic elements and accessibility best practices
- CSS Grid & Flexbox: Modern layout techniques with responsive design
- JavaScript Fundamentals: Variables, functions, DOM interaction, and data persistence
- Interactive UI Development: Progress tracking with visual feedback
- Modern Development Practices: Commenting, naming conventions, and code organization
- Git Workflow: Version control and GitHub integration
- Clone the repository
- Open
index.htmlin a web browser - Click progress bars to track your learning progress
- Use the practice workspace for coding exercises
- Progress is automatically saved and persists across browser sessions
- Archive completed work in the learning history section
This project includes a structured Git commit template to help track learning progress professionally:
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)
- Make your code changes and update progress bars as you learn
- Stage your files:
git add .(or specific files) - Commit with template:
git commit(opens template in editor) - Fill in the template with your learning details
- Save and close to complete the commit
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
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.
- Click any progress bar to cycle through: Not Started → Practicing → Proficient → Mastery
- Progress automatically saves to your browser's localStorage
- Color themes help identify skill categories at a glance
- Goal entries remain as text labels (no progress bars)
- Reload the page - your progress is preserved!
- 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
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.