Skip to content

IBM DevOps & Software Engineering Professional Certificate Capstone Project - Enterprise DevOps automation platform

License

Notifications You must be signed in to change notification settings

galafis/ibm-devops-capstone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Ibm Devops Capstone

IBM DevOps & Software Engineering Professional Certificate Capstone Project - Enterprise DevOps automation platform

Python Docker Flask Kubernetes Pandas Plotly scikit--learn Streamlit License

English | Português


English

🎯 Overview

Ibm Devops Capstone is a production-grade Python application complemented by HTML that showcases modern software engineering practices including clean architecture, comprehensive testing, containerized deployment, and CI/CD readiness.

The codebase comprises 1,718 lines of source code organized across 6 modules, following industry best practices for maintainability, scalability, and code quality.

✨ Key Features

  • 🐳 Containerized: Docker support for consistent deployment
  • 🏗️ Object-Oriented: 4 core classes with clean architecture
  • 📐 Clean Architecture: Modular design with clear separation of concerns
  • 🧪 Test Coverage: Unit and integration tests for reliability
  • 📚 Documentation: Comprehensive inline documentation and examples
  • 🔧 Configuration: Environment-based configuration management

🏗️ Architecture

graph TB
    subgraph Client["🖥️ Client Layer"]
        A[REST API Client]
        B[Swagger UI]
    end
    
    subgraph API["⚡ API Layer"]
        C[Authentication & Rate Limiting]
        D[Request Validation]
        E[API Endpoints]
    end
    
    subgraph ML["🤖 ML Engine"]
        F[Feature Engineering]
        G[Model Training]
        H[Prediction Service]
        I[Model Registry]
    end
    
    subgraph Data["💾 Data Layer"]
        J[(Database)]
        K[Cache Layer]
        L[Data Pipeline]
    end
    
    A --> C
    B --> C
    C --> D --> E
    E --> H
    E --> J
    H --> F --> G
    G --> I
    I --> H
    E --> K
    L --> J
    
    style Client fill:#e1f5fe
    style API fill:#f3e5f5
    style ML fill:#e8f5e9
    style Data fill:#fff3e0
Loading
classDiagram
    class PerformanceTest
    class AgileProjectManager
    class CICDPipelineEngine
    AgileProjectManager --> PerformanceTest : uses
    AgileProjectManager --> AgileProjectManager : uses
    AgileProjectManager --> CICDPipelineEngine : uses
Loading

🚀 Quick Start

Prerequisites

  • Python 3.12+
  • pip (Python package manager)

Installation

# Clone the repository
git clone https://github.com/galafis/ibm-devops-capstone.git
cd ibm-devops-capstone

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Running

# Run the application
python src/main.py

🧪 Testing

# Run all tests
pytest

# Run with coverage report
pytest --cov --cov-report=html

# Run specific test module
pytest tests/test_main.py -v

# Run with detailed output
pytest -v --tb=short

📁 Project Structure

ibm-devops-capstone/
├── src/          # Source code
│   ├── devops_platform.py
│   └── main_platform.py
├── tests/         # Test suite
│   ├── integration/
│   │   └── performance_test.py
│   ├── unit/
│   │   └── test_platform.py
│   └── __init__.py
├── LICENSE
├── README.md
└── requirements.txt

🛠️ Tech Stack

Technology Description Role
Python Core Language Primary
Docker Containerization platform Framework
Flask Lightweight web framework Framework
Kubernetes Container orchestration Framework
Pandas Data manipulation library Framework
Plotly Interactive visualization Framework
scikit-learn Machine learning library Framework
Streamlit Data app framework Framework
HTML 1 files Supporting

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

👤 Author

Gabriel Demetrios Lafis


Português

🎯 Visão Geral

Ibm Devops Capstone é uma aplicação Python de nível profissional, complementada por HTML que demonstra práticas modernas de engenharia de software, incluindo arquitetura limpa, testes abrangentes, implantação containerizada e prontidão para CI/CD.

A base de código compreende 1,718 linhas de código-fonte organizadas em 6 módulos, seguindo as melhores práticas do setor para manutenibilidade, escalabilidade e qualidade de código.

✨ Funcionalidades Principais

  • 🐳 Containerized: Docker support for consistent deployment
  • 🏗️ Object-Oriented: 4 core classes with clean architecture
  • 📐 Clean Architecture: Modular design with clear separation of concerns
  • 🧪 Test Coverage: Unit and integration tests for reliability
  • 📚 Documentation: Comprehensive inline documentation and examples
  • 🔧 Configuration: Environment-based configuration management

🏗️ Arquitetura

graph TB
    subgraph Client["🖥️ Client Layer"]
        A[REST API Client]
        B[Swagger UI]
    end
    
    subgraph API["⚡ API Layer"]
        C[Authentication & Rate Limiting]
        D[Request Validation]
        E[API Endpoints]
    end
    
    subgraph ML["🤖 ML Engine"]
        F[Feature Engineering]
        G[Model Training]
        H[Prediction Service]
        I[Model Registry]
    end
    
    subgraph Data["💾 Data Layer"]
        J[(Database)]
        K[Cache Layer]
        L[Data Pipeline]
    end
    
    A --> C
    B --> C
    C --> D --> E
    E --> H
    E --> J
    H --> F --> G
    G --> I
    I --> H
    E --> K
    L --> J
    
    style Client fill:#e1f5fe
    style API fill:#f3e5f5
    style ML fill:#e8f5e9
    style Data fill:#fff3e0
Loading

🚀 Início Rápido

Prerequisites

  • Python 3.12+
  • pip (Python package manager)

Installation

# Clone the repository
git clone https://github.com/galafis/ibm-devops-capstone.git
cd ibm-devops-capstone

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Running

# Run the application
python src/main.py

🧪 Testing

# Run all tests
pytest

# Run with coverage report
pytest --cov --cov-report=html

# Run specific test module
pytest tests/test_main.py -v

# Run with detailed output
pytest -v --tb=short

📁 Estrutura do Projeto

ibm-devops-capstone/
├── src/          # Source code
│   ├── devops_platform.py
│   └── main_platform.py
├── tests/         # Test suite
│   ├── integration/
│   │   └── performance_test.py
│   ├── unit/
│   │   └── test_platform.py
│   └── __init__.py
├── LICENSE
├── README.md
└── requirements.txt

🛠️ Stack Tecnológica

Tecnologia Descrição Papel
Python Core Language Primary
Docker Containerization platform Framework
Flask Lightweight web framework Framework
Kubernetes Container orchestration Framework
Pandas Data manipulation library Framework
Plotly Interactive visualization Framework
scikit-learn Machine learning library Framework
Streamlit Data app framework Framework
HTML 1 files Supporting

🤝 Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

📄 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

👤 Autor

Gabriel Demetrios Lafis

About

IBM DevOps & Software Engineering Professional Certificate Capstone Project - Enterprise DevOps automation platform

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published