Software Development Life Cycle
Software Development
TG - Projects &
Ecosystem
Projects & Ecosystem - Challenges
- Multi-Base-Arquitectures
- Django (MVT), Laravel: (MVC)
- Flutter (State-Based Design), React (State-Based Views)
- Issues:
- Works on small projects
- In medium/large projects the architecture is limited.
- In medium/large projects it generates high maintenance costs (high coupling)
- Multi-Standards
- PHP, Python, JS, Dart
- Laravel, Django, DRF
- Multi-Nomenclatures for DBs
- Developer Standards
- Different workflow,
- Own standards, sometimes :)
- Multiple formats for the requests/responses - APIs (GraphQL / RESTful)
Projects & Ecosystem - TechGenies Foundation
- Onboarding
- Best Practices
- Guidelines for Development (php,python,js,dart)
- Guidelines for RESTful APIs
- Guidelines for Postman
- GitFlow
- Unify Architectures
- Flutter, React.js, React Native (Clean Architecture)
- Laravel, Django (Layered Architecture, DDD)
- Same naming conventions for DBs
- Code Quality
- Continuous Deployment (CD)
Onboarding
Software Development
Django/Laravel/React.js/Flutter
8h
Onboarding I
- Software Principles
- Rapid Application Development (RAD)
- Design Patterns
- Guidelines (Standards & Recommendations)
- PHP (PSR), Python (PEP), JS (Lints, Google), Dart (Google Standards)
- Common Packages (Django, Laravel, React.js, Flutter)
- Naming Conventions
- Directory Structure
- Testing
- Open API
Onboarding II - Open API
- RESTful Foundation
- Hypermedia (Hateoas)
- Guidelines
- HTTP Verbs
- Associations
- Handling errors
Architecture
Architecture?
Which one to choose?
Architecture
- Operational Architecture Characteristics:
- Availability
- Performance
- Reliability
- Low Fault Tolerance
- Scalability
- Structural Architecture Characteristics:
- Configurability
- Portability (share modules and libraries)
- Maintainability
- Cross Cutting Architecture Characteristics:
- Accessibility
- Security
- Usability
Architecture - Layered Architecture (Laravel, Django)
- Service Layer : Responsible
for representing concepts of
the business, information
about the business situation,
and business rules.
- Repository Pattern: Is a
Domain-Driven Design pattern
intended to keep persistence
concerns outside of the
system's domain model. One
or more persistence
abstractions - interfaces
Architecture - Clean Architecture (Reactjs, Flutter)
Architecture - Achievements
- Standardized Rest APIs for Django, Laravel (Requests/Responses)
- Same Endpoints for Django, Laravel
- Reusable Components/Widget in React.js and Flutter
Code Quality
Code Quality I - Challenges
- How code quality impacts the overall software quality?
- How the code quality can be maintained throughout the software? If that can
be done, what are the parameters to measure the software code quality?
- The developers are often seen side-stepping the quality when they are need to
complete their tasks in a very short span of time.
- When someone fails to heed the code quality, it can sometimes lead to
additional rework in the code. This can eventually enhance the cost of the
software.
Code Quality II - Revisions (PR/MR)
- Code quality refers to the usefulness and maintainability of the code in the
long term. It provides insights to the project managers about the coding
practices and style followed by a team of developers
- Code quality is considered as an essential investment
- High code quality can be one of the best ways to lower the technical debt.
- Pull Requests (PR) / Merge Requests (MR) are more important, Now :)
Code Quality II - Measuring
Continuous Deployment
CD - Git Flow
- Gitflow is simply
organizing the work
into branches and its
sub-branches.
CD - Workflow
- Support: Django,
Laravel, React.js
Projects
Thanks
@minayalen
Juan Minaya Leon

Software Development

  • 2.
  • 3.
  • 4.
    TG - Projects& Ecosystem
  • 5.
    Projects & Ecosystem- Challenges - Multi-Base-Arquitectures - Django (MVT), Laravel: (MVC) - Flutter (State-Based Design), React (State-Based Views) - Issues: - Works on small projects - In medium/large projects the architecture is limited. - In medium/large projects it generates high maintenance costs (high coupling) - Multi-Standards - PHP, Python, JS, Dart - Laravel, Django, DRF - Multi-Nomenclatures for DBs - Developer Standards - Different workflow, - Own standards, sometimes :) - Multiple formats for the requests/responses - APIs (GraphQL / RESTful)
  • 6.
    Projects & Ecosystem- TechGenies Foundation - Onboarding - Best Practices - Guidelines for Development (php,python,js,dart) - Guidelines for RESTful APIs - Guidelines for Postman - GitFlow - Unify Architectures - Flutter, React.js, React Native (Clean Architecture) - Laravel, Django (Layered Architecture, DDD) - Same naming conventions for DBs - Code Quality - Continuous Deployment (CD)
  • 7.
  • 8.
  • 9.
    Onboarding I - SoftwarePrinciples - Rapid Application Development (RAD) - Design Patterns - Guidelines (Standards & Recommendations) - PHP (PSR), Python (PEP), JS (Lints, Google), Dart (Google Standards) - Common Packages (Django, Laravel, React.js, Flutter) - Naming Conventions - Directory Structure - Testing - Open API
  • 10.
    Onboarding II -Open API - RESTful Foundation - Hypermedia (Hateoas) - Guidelines - HTTP Verbs - Associations - Handling errors
  • 11.
  • 12.
  • 13.
    Architecture - Operational ArchitectureCharacteristics: - Availability - Performance - Reliability - Low Fault Tolerance - Scalability - Structural Architecture Characteristics: - Configurability - Portability (share modules and libraries) - Maintainability - Cross Cutting Architecture Characteristics: - Accessibility - Security - Usability
  • 14.
    Architecture - LayeredArchitecture (Laravel, Django) - Service Layer : Responsible for representing concepts of the business, information about the business situation, and business rules. - Repository Pattern: Is a Domain-Driven Design pattern intended to keep persistence concerns outside of the system's domain model. One or more persistence abstractions - interfaces
  • 15.
    Architecture - CleanArchitecture (Reactjs, Flutter)
  • 16.
    Architecture - Achievements -Standardized Rest APIs for Django, Laravel (Requests/Responses) - Same Endpoints for Django, Laravel - Reusable Components/Widget in React.js and Flutter
  • 17.
  • 18.
    Code Quality I- Challenges - How code quality impacts the overall software quality? - How the code quality can be maintained throughout the software? If that can be done, what are the parameters to measure the software code quality? - The developers are often seen side-stepping the quality when they are need to complete their tasks in a very short span of time. - When someone fails to heed the code quality, it can sometimes lead to additional rework in the code. This can eventually enhance the cost of the software.
  • 19.
    Code Quality II- Revisions (PR/MR) - Code quality refers to the usefulness and maintainability of the code in the long term. It provides insights to the project managers about the coding practices and style followed by a team of developers - Code quality is considered as an essential investment - High code quality can be one of the best ways to lower the technical debt. - Pull Requests (PR) / Merge Requests (MR) are more important, Now :)
  • 20.
    Code Quality II- Measuring
  • 21.
  • 22.
    CD - GitFlow - Gitflow is simply organizing the work into branches and its sub-branches.
  • 23.
    CD - Workflow -Support: Django, Laravel, React.js Projects
  • 24.