Development Consulting (Draft) - up1/training-courses GitHub Wiki
Development Consulting
Software
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
- 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
- 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
- Pipeline
- Build
- Test (functional and non-functional)
- Deploy
- Create your pipeline with tools
- CI/CD tools
- Jenkins (Self-host)
- GitHub Action (Cloud-based)