diff --git a/README.md b/README.md index b345d57..905f386 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ Small NumPy-inspired Java library for ndarray operations, developed as a DevOps team project. +Authors: see [AUTHORS](AUTHORS). + Repository: https://github.com/sMouaad/DevOps-Project **[Documentation & API Reference](https://smouaad.github.io/DevOps-Project/)** @@ -21,9 +23,7 @@ Repository: https://github.com/sMouaad/DevOps-Project - Keep test quality high and track coverage in CI. - Deliver a clear project report in this README. -## Features Implemented So Far - -Current snapshot date: 2026-04-04. +## Features Implemented - 1D ndarray core with metadata (`ndim`, `shape`, `size`). - 2D ndarray support with matrix validation. @@ -66,7 +66,7 @@ Workflow used by the team: - CI must pass before merge. - We use GitHub Issues to plan work and assign tasks to each teammate. -Branch examples used so far: +Feature branches used during the project: - `feature/ndarray-core-1d` - `feature/array-zeros-arange` @@ -75,6 +75,12 @@ Branch examples used so far: - `feature/ndarray-2d` - `feature/ci-coverage` - `feature/print-display` +- `feature/optional-ndarray-extensions` +- `feature/sonarqube-integration` +- `feature/docker` +- `feature/maven-dist` +- `feature/iac-ansible-terraform` +- `feature/readme-report` PR validation checklist: @@ -177,35 +183,44 @@ cd infrastructure/scripts See [infrastructure/README.md](infrastructure/README.md) for details. -## Current Status vs Mandatory Scope +## Delivered Scope -Implemented: +Mandatory: - 1D and 2D ndarray support. - Creation functions (`array`, `zeros`, `arange`). - Addition operations (`add`, `addInPlace`). -- Scalar addition and `sum()` reduction. - Reshape with validation. -- Docker containerization with CI/CD pipeline. -- Infrastructure as Code for GCP deployment. +- NumPy-like display. + +Optional / bonus (difficulty level in brackets): + +- Scalar addition and `sum()` reduction — library extensions. +- Maven SNAPSHOT publishing to GitHub Packages, gated by 70% coverage [2]. +- Multi-stage Docker image published to GHCR with semver/sha tags [3]. +- Infrastructure as Code (Terraform + Ansible) for GCP deployment [4]. +- SonarQube static analysis integrated in CI with quality gate [3]. +- CI/coverage badges and GitHub Pages documentation site [1]. -In progress / next: +## Feedback -- Final quality/readability cleanup. -- Final documentation polishing and report completion. +This project was a good learning experience for us. We learned that having a working pipeline early saves a lot of time later, and we learned how the use tools such as terraform & ansible along the way. -## Feedback and Retrospective (Living Section) +What went well: -What worked well so far: +- CI + tests helped us avoid regressions. +- Small PRs made reviews easier. +- Docker made demo execution consistent across machines. +- Terraform + Ansible split infra creation and app deployment clearly. -- Small PR scope reduced merge risk. -- Review-first workflow caught shape/metadata issues early. -- CI + tests made refactoring safer. +What was harder: -What to improve next: +- Covering edge cases (2D behavior, reshape validation) with clean tests. +- Keeping feature branches up to date with `main`. +- Initial cloud setup (credentials, IAM roles, SSH keys). -- Add more explicit edge-case tests for some 2D operations. -- Keep branch updates synchronized with `main` to reduce conflict churn. -- Start working on bonus options once mandatory scope is fully stable. +What we can improve next: -This section will be updated at each milestone. +- Add moretests (edgecases) for 2D operations +- Add an automatic changelog for releases. +- Add a PR template... \ No newline at end of file