diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..96c1b15 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,18 @@ +# Global owners +* @mr-adonis-jimenez + +# Frontend code +/frontend/** @mr-adonis-jimenez + +# Backend API +/api/** @mr-adonis-jimenez + +# Infrastructure +/terraform/** @mr-adonis-jimenez +/.github/** @mr-adonis-jimenez + +# Documentation +/docs/** @mr-adonis-jimenez + +# Critical security files +/auth/** @mr-adonis-jimenez diff --git a/CODEOWNERS.md b/CODEOWNERS.md deleted file mode 100644 index c0794af..0000000 --- a/CODEOWNERS.md +++ /dev/null @@ -1,18 +0,0 @@ -# Global owners -* @team-leads - -# Frontend code -/frontend/** @frontend-team - -# Backend API -/api/** @backend-team @security-team - -# Infrastructure -/terraform/** @devops-team -/.github/** @devops-team - -# Documentation -/docs/** @tech-writers - -# Critical security files -/auth/** @security-team @team-leads diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 547b950..d560452 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,9 +2,9 @@ ### Enable repository git hooks (recommended) -This repo includes a `pre-push` hook to prevent direct pushes to the protected `master` branch. +This repo includes a `pre-push` hook to prevent direct pushes to the protected `main` branch. -1. Configure git to use the repo’s hook directory: +1. Configure git to use the repo's hook directory: `git config core.hooksPath scripts/git-hooks` @@ -12,7 +12,7 @@ This repo includes a `pre-push` hook to prevent direct pushes to the protected ` `chmod +x scripts/git-hooks/pre-push` -After that, any attempt to `git push` updates directly to `master` will be blocked locally. +After that, any attempt to `git push` updates directly to `main` will be blocked locally. ## Code Style ## Testing diff --git a/GitHub/dependabot.yml b/GitHub/dependabot.yml deleted file mode 100644 index ae2b117..0000000 --- a/GitHub/dependabot.yml +++ /dev/null @@ -1,13 +0,0 @@ -version: 2 - -updates: - - package-ecosystem: "npm" - directory: "/" - schedule: - interval: "weekly" - open-pull-requests-limit: 5 - - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" diff --git a/README.md b/README.md index a5939c2..e391fbc 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,16 @@ ## Release Pipeline -- ✔ OIDC-based npm publishing (no secrets) +- ✔ OIDC-based publishing (no secrets) - ✔ Verified supply-chain provenance - ✔ Automated quality gates (lint, test, audit) - ✔ Reusable CI workflows ## Contributing / Branch protection -Direct pushes to `master` should be avoided. See `CONTRIBUTING.md` to enable the repo’s `pre-push` hook that blocks direct pushes to `master` locally. +Direct pushes to `main` should be avoided. See `CONTRIBUTING.md` to enable the repo's `pre-push` hook that blocks direct pushes to `main` locally. - ## Release & Security Architecture +## Release & Security Architecture -- Monorepo publishing with npm workspaces - OIDC-based trusted publishing (no secrets) - Canary & RC release channels - SBOM generation (CycloneDX) @@ -20,9 +19,8 @@ Direct pushes to `master` should be avoided. See `CONTRIBUTING.md` to enable the This pipeline enforces supply-chain integrity and production-grade quality gates. - -![npm](https://img.shields.io/npm/v/your-package) -![CI](https://github.com/you/repo/actions/workflows/npm-publish.yml/badge.svg) +![CI](https://github.com/mr-adonis-jimenez/geo-analytics-api/actions/workflows/ci-cd.yml/badge.svg) +![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg) # 🌎 Geo-Analytics API/Dashboard @@ -113,4 +111,3 @@ curl -s -X POST "http://localhost:8000/api/datasets/json?name=my-dataset" \ curl -s -X POST "http://localhost:8000/api/datasets/csv?name=my-csv" \ -F "file=@regional_data.csv" | jq ``` - diff --git a/requirements.txt b/requirements.txt index 9fe2b97..0848b70 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,16 @@ +# Core fastapi -uvicorn +uvicorn[standard] pandas -pytest +numpy python-multipart + +# Dev / testing +pytest +pytest-cov +pytest-asyncio httpx +black +flake8 +isort +pylint