<div style="margin: 40px auto; text-align: center; max-width: 1200px;">
    <h2 style="font-size: 36px; font-weight: bold; margin-bottom: 30px; color: #2C3E50;">WP9 Task 2 Software Reviews</h2>
    <p style="font-size: 18px; color: #7F8C8D; margin-bottom: 40px;">
        WP9 Task 2 provides software review services designed to help GÉANT development teams enhance the security, quality, and compliance of their code. Our mission is to make software more robust against threats, improve code maintainability, and ensure adherence to the GÉANT software IPR policy.
    </p>

    <div style="display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">

        <!-- SonarQube Setup Assistance -->
        <div class="review-card" style="background-color: #f4f4f4; border: 3px solid rgba(41, 128, 185, 0.7); box-shadow: 0 4px 12px rgba(41, 128, 185, 0.4);">
            <a href="https://wiki.geant.org/display/GSD/SonarQube+Setup+Assistance">
                <div class="emoji">πŸ§‘β€πŸ’»</div>
                <h4>SonarQube Setup Assistance</h4>
                <div class="text-container">
                    <p>How to configure SonarQube for automated code analysis</p>
                </div>
            </a>
        </div>

        <!-- Source Code Review -->
        <div class="review-card" style="background-color: #f4f4f4; border: 3px solid rgba(39, 174, 96, 0.7); box-shadow: 0 4px 12px rgba(39, 174, 96, 0.4);">
            <a href="https://wiki.geant.org/display/GSD/Source+Code+Review">
                <div class="emoji">πŸ”</div>
                <h4>Source Code Review</h4>
                <div class="text-container">
                    <p>In-depth manual code review by experts</p>
                </div>
            </a>
        </div>

        <!-- Software Composition Analysis -->
        <div class="review-card" style="background-color: #f4f4f4; border: 3px solid rgba(243, 156, 18, 0.7); box-shadow: 0 4px 12px rgba(243, 156, 18, 0.4);">
            <a href="https://wiki.geant.org/display/GSD/Software+Composition+Analysis">
                <div class="emoji">🧩</div>
                <h4>Software Composition Analysis</h4>
                <div class="text-container">
                    <p>Reviewing external software components and their licenses</p>
                </div>
            </a>
        </div>

        <!-- Software Licence Analysis -->
        <div class="review-card" style="background-color: #f4f4f4; border: 3px solid rgba(142, 68, 173, 0.7); box-shadow: 0 4px 12px rgba(142, 68, 173, 0.4);">
            <a href="https://wiki.geant.org/display/GSD/Software+Licence+Analysis">
                <div class="emoji">πŸ…</div>
                <h4>Software Licence Analysis</h4>
                <div class="text-container">
                    <p>Ensuring compliance with software licensing requirements</p>
                </div>
            </a>
        </div>

    </div>
</div>

<style>
    .review-card {
        flex: 1 1 220px;
        max-width: 250px;
        border-radius: 12px;
        padding: 20px;
        text-align: center;
        box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.1);
        transition: transform 0.3s ease, box-shadow 0.3s ease-in-out;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        background-color: #f4f4f4;
    }

    .review-card:hover {
        transform: translateY(-8px);
        box-shadow: 0px 15px 35px rgba(0, 0, 0, 0.15);
    }

    .review-card a {
        text-decoration: none;
        color: #2C3E50;
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .emoji {
        font-size: 44px;
        margin-bottom: 12px;
    }

    .review-card h4 {
        font-size: 20px;
        font-weight: bold;
        text-align: center;
        min-height: 48px;
        margin-bottom: 18px; 
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .text-container {
        margin-top: auto;
    }

    .review-card p {
        font-size: 16px;
        color: #2C3E50;
        margin: 0;
    }

    /* Responsive fallback */
    @media (max-width: 300px) {
        .review-card h4 {
            font-size: 18px;
        }
        .review-card p {
            font-size: 14px;
        }
    }
</style>

<div style="height: 20px;"></div>
<div style="text-align: center; font-size: 22px; margin-bottom: 15px; font-weight: bold;">
  Our team of experts has extensive experience in the following programming languages:
</div>

<div style="display: flex; justify-content: center; flex-wrap: wrap; gap: 20px;">

  <div class="language-card">
    <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/java/java-original.svg" alt="Java">
    <span>Java</span>
  </div>

  <div class="language-card">
    <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/csharp/csharp-original.svg" alt="C#">
    <span>C#</span>
  </div>

  <div class="language-card">
    <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/mysql/mysql-original.svg" alt="SQL">
    <span>SQL</span>
  </div>

  <div class="language-card">
    <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/php/php-original.svg" alt="PHP">
    <span>PHP</span>
  </div>

  <div class="language-card">
    <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/javascript/javascript-original.svg" alt="JavaScript">
    <span>JavaScript</span>
  </div>

  <div class="language-card">
    <img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/python/python-original.svg" alt="Python">
    <span>Python</span>
  </div>

</div>

<style>
  .language-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 130px;
    height: 130px;
    background: white;
    border-radius: 15px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  }

  .language-card:hover {
    transform: scale(1.1);
    box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3);
  }

  .language-card img {
    width: 60px; 
    height: 60px; 
    margin-bottom: 10px;
    object-fit: contain; /* Images proportion */
  }

  .language-card span {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
  }
</style>

<div style="text-align: center; font-size: 16px; margin-top: 30px;">
  πŸ“Œ If your project uses a different technology, feel free to reach out. We will assist in finding the best solution for your needs.
</div>




🌟 What Are the Benefits?

<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; max-width: 900px; margin: 20px auto;">
    <!-- Card1 1 -->
    <div style="background: white; border-radius: 15px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); padding: 15px; text-align: center;">
        <div style="font-size: 32px; margin-bottom: 10px;">🎯</div>
        <h3 style="font-size: 18px; margin: 0; color: #333;">Fit for purpose</h3>
        <p style="font-size: 16px; color: #555;">πŸ”₯ Optimal solution for your needs is guaranteed</p>
    </div>

    <!-- Card 2 -->
    <div style="background: white; border-radius: 15px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); padding: 15px; text-align: center;">
        <div style="font-size: 32px; margin-bottom: 10px;">πŸ”</div>
        <h3 style="font-size: 18px; margin: 0; color: #333;">Detailed Inspections</h3>
        <p style="font-size: 16px; color: #555;">πŸ”₯ Dynamic + Static Analysis + Penetration Testing</p>
    </div>

    <!-- Card 3 -->
    <div style="background: white; border-radius: 15px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); padding: 15px; text-align: center;">
        <div style="font-size: 32px; margin-bottom: 10px;">πŸ‘¨β€πŸ’»</div>
        <h3 style="font-size: 18px; margin: 0; color: #333;">Expert Support</h3>
        <p style="font-size: 16px; color: #555;">πŸ”₯ Direct collaboration with security experts</p>
    </div>

    <!-- Card 4 -->
    <div style="background: white; border-radius: 15px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); padding: 15px; text-align: center;">
        <div style="font-size: 32px; margin-bottom: 10px;">πŸ“„</div>
        <h3 style="font-size: 18px; margin: 0; color: #333;">Detailed Reports</h3>
        <p style="font-size: 16px; color: #555;">πŸ”₯ Comprehensive results with concrete recommendations</p>
    </div>

    <!-- Card 5 -->
    <div style="background: white; border-radius: 15px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); padding: 15px; text-align: center;">
        <div style="font-size: 32px; margin-bottom: 10px;">πŸ› οΈ</div>
        <h3 style="font-size: 18px; margin: 0; color: #333;">Advanced Tools</h3>
        <p style="font-size: 16px; color: #555;">πŸ”₯ We use SQ, Mend, and other tools for issue detection</p>
    </div>

    <!-- Card 6 -->
    <div style="background: white; border-radius: 15px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); padding: 15px; text-align: center;">
        <div style="font-size: 32px; margin-bottom: 10px;">πŸ”</div>
        <h3 style="font-size: 18px; margin: 0; color: #333;">Enhanced Security</h3>
        <p style="font-size: 16px; color: #555;">πŸ”₯ Risk reduction and increased software stability</p>
    </div>
</div>



πŸ”— Related Materials

<div class="resource-container">
    <div class="resource-item">
        <div class="text">
            <h4>GÉANT eAcademy, Course: Security Testing and Quality Assurance (2024)</h4>
        </div>
        <a href="https://e-academy.geant.org/moodle/course/view.php?id=628" target="_blank">
            <button class="btn">Open Course</button>
        </a>
    </div>
    
    <div class="resource-item">
        <div class="text">
            <h4>SonarQube Infoshare, recording and slides (2024)</h4>
        </div>
        <a href="https://geant.app.box.com/s/uwhgmltuse4ogp4ii79wgxhkyuagrvi8" target="_blank">
            <button class="btn">View InfoShare</button>
        </a>
    </div>

    <div class="resource-item">
        <div class="text">
            <h4>Webinar: License Analysis with WhiteSource (2022)</h4>
        </div>
        <a href="https://geant.app.box.com/s/a5103pww8hpby60y5vmsk2rwn0qjq347" target="_blank">
            <button class="btn">Watch Webinar</button>
        </a>
    </div>
</div>

<style>
    .resource-container {
        display: flex;
        flex-direction: column;
        gap: 15px;
        max-width: 800px;
        margin: 40px auto;
        font-family: 'Arial', sans-serif;
    }

    .resource-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px;
        background-color: #f9f9f9;
        border-radius: 10px;
        box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.1);
    }

    .resource-item .text {
        flex-grow: 1;
        text-align: left;
    }

    .resource-item h4 {
        font-size: 16px;
        font-weight: 600;
        color: #444;
        margin: 0;
    }

    .btn {
        padding: 10px 20px;
        background-color: #2e8b57;
        color: white;
        border: none;
        border-radius: 6px;
        cursor: pointer;
        font-size: 14px;
        width: 180px; /* Ensures buttons are same size */
        text-align: center;
    }

    .btn:hover {
        background-color: #1e6b41;
    }
</style>
<div style="height: 20px;"></div>




🌟 Statistics

<div class="statistics-container">
    <!-- Card 1 - Years of Experience -->
    <div class="stat-card">
        <div class="stat-icon">πŸ“Š</div>
        <div class="stat-info">
            <h4>Years of Experience</h4>
            <p class="stat-number">+14 years</p>
        </div>
    </div>

    <!-- Card 2 - Detected Bugs (Manual) -->
    <div class="stat-card">
        <div class="stat-icon">🐞</div>
        <div class="stat-info">
            <h4>Detected Bugs (Manual)</h4>
            <p class="stat-number">+700</p>
        </div>
    </div>

    <!-- Card 3 - Detected Bugs (Automatic via SonarQube) -->
    <div class="stat-card">
        <div class="stat-icon">
            <img src="https://wiki.geant.org/download/attachments/1045004320/sonarqube.svg?api=v2" alt="SonarQube Logo" class="sonarqube-logo">
        </div>
        <div class="stat-info">
            <h4>Detected Bugs (Automatic)</h4>
            <p class="stat-number">+10,000</p>
        </div>
    </div>
</div>

<style>
    .statistics-container {
        display: flex;
        gap: 20px;
        justify-content: space-around;
        flex-wrap: wrap;
        margin: 40px auto;
        max-width: 1200px;
    }

    .stat-card {
        background-color: #f9f9f9;
        border-radius: 12px;
        padding: 20px;
        width: 280px;
        box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
        transition: transform 0.3s, box-shadow 0.3s;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* Klikabilnost uklonjena */
        cursor: default;
    }

    .stat-card:hover {
        transform: translateY(-5px);
        box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.15);
    }

    .stat-icon {
        font-size: 40px;
        color: #2ecc71;
        margin-bottom: 15px;
    }

    .stat-icon img.sonarqube-logo {
        width: 120px;
        height: auto;
        margin-bottom: 15px;
    }

    .stat-info h4 {
        font-size: 18px;
        font-weight: 600;
        color: #34495e;
        margin-bottom: 10px;
    }

    .stat-number {
        font-size: 28px;
        font-weight: 700;
        color: #2ecc71;
        margin-bottom: 10px;
    }
</style>


πŸ“©Β Contact UsΒ 

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <style>
    body {
      font-family: 'Arial', sans-serif;
      background-color: #f5f6f8;
      margin: 0;
      padding: 20px;
      color: #333;
      font-size: 14px;
    }
    .contact-wrapper-v2 {
      display: flex;
      justify-content: center;
      padding: 30px;
    }
    .contact-item-v2 {
      background-color: #ffffff;
      padding: 30px;
      width: 100%;
      max-width: 900px;
      border-radius: 16px;
      box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
      border: 2px solid #3498db;
      display: flex;
      align-items: flex-start;
      gap: 30px;
      transition: box-shadow 0.3s ease, border-color 0.3s ease;
    }
    .contact-item-v2:hover {
      box-shadow: 0 8px 36px rgba(0, 0, 0, 0.12);
      border-color: #2980b9;
    }
    .contact-icon-v2 {
      font-size: 50px;
      color: #3498db;
      margin-top: 4px;
    }
    .contact-content-v2 {
      flex: 1;
    }
    .contact-content-v2 h3 {
      color: #2980b9;
      font-size: 1.4em;
      font-weight: bold;
      margin-bottom: 12px;
    }
    .contact-content-v2 p {
      font-size: 0.95em;
      color: #7f8c8d;
      margin-bottom: 20px;
    }
    .contact-links-v2 {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
    }
    .contact-links-v2 a {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      color: #2980b9;
      background-color: transparent;
      padding: 10px 16px;
      font-size: 0.95em;
      font-weight: bold;
      border-radius: 8px;
      text-decoration: none;
      border: 2px solid #3498db;
      width: 100%;
      max-width: 320px;
      text-align: center;
      transition: background-color 0.3s ease, transform 0.3s ease;
    }
    .contact-links-v2 a:hover {
      background-color: #3498db;
      color: white;
      transform: translateY(-4px);
    }
    .contact-links-v2 a.helpdesk-link-v2 {
      background-color: #3498db;
      color: white;
      border: none;
      padding: 10px 16px;
    }
    .contact-links-v2 a.helpdesk-link-v2:hover {
      background-color: #217dbb;
    }
    .footer-text-v2 {
      text-align: center;
      font-size: 16px;
      margin-top: 30px;
      color: #555;
    }
    .footer-text-v2 span {
      font-weight: bold;
      color: #3498db;
    }
  </style>
  <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet" />
</head>
<body>

  <div class="contact-wrapper-v2">
    <div class="contact-item-v2">
      <div class="contact-icon-v2"><i class="fas fa-envelope"></i></div>
      <div class="contact-content-v2">
        <h3>Request Code Review</h3>
        <p>If you need a code review, reach out to us via email or through the Help Desk for assistance.</p>
        <div class="contact-links-v2">
          <a href="mailto:codereviews@software.geant.org" class="email-link-v2">
            codereviews@software.geant.org
          </a>
          <a href="https://jira.software.geant.org/servicedesk/customer/portal/2/group/20" class="helpdesk-link-v2">
            Help Desk
          </a>
        </div>
      </div>
    </div>
  </div>
  <div class="footer-text-v2">
    For further inquiries or more information, feel free to reach out via email or Help Desk.
  </div>
  <br><br>
</body>
</html>


© April 2025 Test and Analysis Team GÉANT