Development Consulting (Draft) - up1/training-courses GitHub Wiki

Development Consulting

Software

  • VS Code
  • Git
  • Docker

1. Software Development Lifecycle (SDLC)

  • Development
    • Coding standard and checklist
      • Code formatting tools and linters
      • Naming conventions
      • Commenting and documentation standards
      • Error handling and logging practices
      • OWASP security practices
        • Top 10 Web Application Security Risks
        • Top 10 API Security Risks
        • Basic with OWASP
          • Review code
          • Scan code
          • FindBugs
          • Dependencies check or Dependencies tracking
    • Development process
      • Design
      • Develop
      • Testing
      • Refactoring code or improve your code
    • Working with Git branching strategy
    • Code review process and Pull Request (PR) guidelines
    • Tools
      • Lint tools and formatting tools
      • SonarQube to analyze source code (Web and API)
      • Scan secret keys in project
      • Git hooks
  • Testing
    • Testing types and strategies
      • End-to-end (E2E) testing
      • Integration testing
      • Service component testing
      • Contract testing
      • Unit testing
    • Manual testing and Automated testing
    • Testing in CI/CD pipeline
  • Deployment
    • Overview high level architecture
      • Web
      • API
      • Database
    • Deployment strategies of project
  • Workshop

2. Coding Standard and Review

  • Review coding standard
    • Choose standard
    • Config project to run lint tools
  • Effective code review process
    • Build and testing in developer's machine
    • Working with git strategies
    • Create Pull Request (PR)
      • Automated check in each PR
      • Manual review by human
  • Workshop

3. Workshop with Automated Testing

  • Manual testing and Automated testing
  • Design your test cases
  • Develop and Testing
    • Web
      • Playwright
    • API
      • Postman
    • Database
  • Testing workshop (Web and API)
    • End-to-end (E2E) testing
    • Integration testing
    • Service component testing
    • Contract testing
    • Unit testing
  • Workshop

4. Continuous Integration and Continuous Deployment (CI/CD)

  • Practices of CI/CD
    • Automate everything
    • Frequent commits
    • Build artifacts once
    • Automate testing
    • Optimize pipeline stages
  • Design your pipeline from high level architecture of system
    • Architecture
      • Web
      • API
      • Database
    • Pipeline
      • Build
      • Test (functional and non-functional)
      • Deploy
  • Create your pipeline with tools
    • CI/CD tools
      • Jenkins (Self-host)
      • GitHub Action (Cloud-based)