Web Development

  1. Modern Web Development Tools and Practices
    1. Version Control Systems
      1. Git
        1. Fundamentals of Branching and Merging
          1. Git Workflow Models (Centralized, Feature Branch, Forking Workflow)
            1. Handling Merge Conflicts
              1. Git Rebase vs. Git Merge
              2. Platforms
                1. GitHub
                  1. Pull Requests and Code Reviews
                    1. GitHub Actions for CI/CD
                      1. GitHub Pages for Static Site Deployment
                      2. GitLab
                        1. GitLab CI/CD Pipelines
                          1. Issue Tracking and Project Management
                            1. Security Scanning Features
                        2. Agile Methodologies
                          1. Principles and Values
                            1. Agile Manifesto
                              1. Delivering Frequently and Iterative Development
                              2. Frameworks
                                1. Scrum
                                  1. Roles (Scrum Master, Product Owner, Development Team)
                                    1. Artifacts (Product Backlog, Sprint Backlog, Increment)
                                      1. Ceremonies (Sprint Planning, Daily Scrum, Review, Retrospective)
                                      2. Kanban
                                        1. Visualizing Workflow
                                          1. Limiting Work in Progress (WIP)
                                            1. Continuous Delivery and Lead Time Optimization
                                          2. Tools for Agile Management
                                            1. Jira
                                              1. Trello
                                                1. Asana
                                              2. Test-Driven Development (TDD)
                                                1. TDD Process and Cycle (Red, Green, Refactor)
                                                  1. Writing Effective Unit Tests
                                                    1. Test Coverage and Code Quality
                                                      1. TDD in Different Languages (JavaScript, Python, Java, etc.)
                                                        1. Frameworks and Tools
                                                          1. Mocha/Chai
                                                            1. JUnit
                                                              1. RSpec
                                                            2. Behavior-Driven Development (BDD)
                                                              1. Understanding BDD Concepts and Processes
                                                                1. Writing User Stories with Gherkin Syntax
                                                                  1. Feature Files and Step Definitions
                                                                    1. BDD Tools and Frameworks
                                                                      1. Cucumber
                                                                        1. Jasmine
                                                                          1. Behat
                                                                        2. Automation and Scripting
                                                                          1. Build Automation
                                                                            1. Continuous Integration/Continuous Deployment (CI/CD)
                                                                              1. Tools (Jenkins, Travis CI, CircleCI)
                                                                              2. Testing Automation
                                                                                1. Automated End-to-End Testing
                                                                                  1. Tools (Selenium, Cypress, Puppeteer)
                                                                                  2. Deployment Automation
                                                                                    1. Container Orchestration (Docker, Kubernetes)
                                                                                      1. Server Provisioning (Ansible, Terraform)
                                                                                      2. Scripting for Development Tasks
                                                                                        1. Shell Scripting (Bash)
                                                                                          1. Task Automation (npm scripts, Makefile)
                                                                                            1. Environment Setup Scripts