diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..ef82ecf2 Binary files /dev/null and b/.DS_Store differ diff --git a/.github/workflows/cicd.yml b/.github/workflows/cicd.yml index 1c585356..d48f841a 100644 --- a/.github/workflows/cicd.yml +++ b/.github/workflows/cicd.yml @@ -3,8 +3,8 @@ name: CI / CD on: push: paths: - - 'api/**' - - '.github/workflows/cicd.yml' + - "api/**" + - ".github/workflows/cicd.yml" workflow_dispatch: jobs: @@ -13,17 +13,17 @@ jobs: runs-on: ubuntu-latest steps: - - name: Check out the repository - uses: actions/checkout@v2 + - name: Check out the repository + uses: actions/checkout@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 - - name: Build and run tests - run: docker-compose up --build --exit-code-from test test + - name: Build and run tests + run: docker-compose up --build --exit-code-from test test - - name: Clean up - run: docker-compose down + - name: Clean up + run: docker-compose down deploy: name: Deploy @@ -31,18 +31,17 @@ jobs: needs: build-and-test if: github.ref == 'refs/heads/develop' steps: - - - name: Deploy to EC2 - uses: appleboy/ssh-action@master - with: - host: ${{ secrets.DEV_HOST }} - username: ${{ secrets.USERNAME }} - key: ${{ secrets.SSH_KEY }} - script: | - cd amazonia-360 - git pull --rebase - sudo docker-compose down - sudo docker-compose up -d api --build + - name: Deploy to EC2 + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.DEV_HOST }} + username: ${{ secrets.USERNAME }} + key: ${{ secrets.SSH_KEY }} + script: | + cd amazonia-360 + git pull --rebase + sudo docker-compose down + sudo docker-compose up -d api --build health-check: name: Health Check @@ -56,5 +55,3 @@ jobs: url: ${{ secrets.DEV_HEALTHCHECK }} retries: 5 wait: 10 - - diff --git a/README.md b/README.md index 2c87bffd..73461bd6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # amazonia-360 -Amazonia 360 + +Amazonia 360+ diff --git a/api/README.md b/api/README.md index 95fd55e2..d7aa03c6 100644 --- a/api/README.md +++ b/api/README.md @@ -1,8 +1,9 @@ -# Amazonia360 API +# Amazonia360+ API ## Python setup ### Production + Use the `requirements.txt` file to install the required packages. ```bash @@ -17,7 +18,6 @@ First create a virtual environment with virtualenv or uv. Then install the dependencies with the following command: - ```bash pip-sync requirements.txt requirements-dev.txt ``` @@ -30,4 +30,4 @@ uv pip sync requirements.txt requirements-dev.txt To add a new production dependency, add it to the `requirements.in` file and run `uv pip compile requirements.in -o requirements.txt` (or `pip-compile requirements.in -o requirements.txt`). -To add a new development dependency repeat the same process with the `requirements-dev.in` and `requirement-dev.txt` file. +To add a new development dependency repeat the same process with the `requirements-dev.in` and `requirement-dev.txt` file. diff --git a/client/.env.test b/client/.env.test new file mode 100644 index 00000000..aec06ee0 --- /dev/null +++ b/client/.env.test @@ -0,0 +1,11 @@ +NEXT_PUBLIC_URL=http://localhost:$PORT +NEXT_PUBLIC_API_URL=https://api.amazonia360.dev-vizzuality.com/ +NEXT_PUBLIC_ARCGIS_API_KEY="" +NEXT_PUBLIC_API_KEY="" + +ARCGIS_CLIENT_ID="" +ARCGIS_CLIENT_SECRET="" + +BASIC_AUTH_USER=amazonia360 +BASIC_AUTH_PASSWORD=amazonia360 +# BASIC_AUTH_PASSWORD=Amazonia360$MVP/2024 diff --git a/client/package.json b/client/package.json index 5580b3c2..b7f4d14f 100644 --- a/client/package.json +++ b/client/package.json @@ -94,5 +94,5 @@ "ts-node": "^10.9.2", "typescript": "^5" }, - "packageManager": "pnpm@9.1.1+sha256.9551e803dcb7a1839fdf5416153a844060c7bce013218ce823410532504ac10b" + "packageManager": "pnpm@9.4.0+sha256.b6fd0bfda555e7e584ad7e56b30c68b01d5a04f9ee93989f4b93ca8473c49c74" } diff --git a/client/src/app/page.tsx b/client/src/app/page.tsx index 91a0efb8..d4394888 100644 --- a/client/src/app/page.tsx +++ b/client/src/app/page.tsx @@ -9,7 +9,7 @@ import KeyFeatures from "@/containers/home/key-features"; import Vision from "@/containers/home/vision"; export const metadata: Metadata = { - title: "Amazonia360", + title: "Amazonia360+", description: "", }; diff --git a/client/src/constants/datasets.ts b/client/src/constants/datasets.ts index 648d53b8..0e90f48e 100644 --- a/client/src/constants/datasets.ts +++ b/client/src/constants/datasets.ts @@ -585,7 +585,7 @@ export const DATASETS = { url: null, data: `

Types of land coverages in the AFP's area of work.

Polygon and raster image versions representing land cover in the AFP's work area.

-

Compiled by Amazonia360 (2023-2024) , from ESA WorldCover project data, consisting of global land cover products at 10 m resolution for 2021, from Sentinel-1 and 2 data. ( https://worldcover2021.esa.int/)

+

Compiled by Amazonia360+ (2023-2024) , from ESA WorldCover project data, consisting of global land cover products at 10 m resolution for 2021, from Sentinel-1 and 2 data. ( https://worldcover2021.esa.int/)

The legend includes 11 generic classes that adequately describe the land surface at 10 m: "Tree cover", "Shrublands", "Grasslands", "Croplands", "Urbanized", "Bare/shrubby vegetation", "Snow and ice", "Permanent water bodies", "Herbaceous wetlands", "Mangroves" and "Mosses and lichens". The portion of the data for northern South America was extracted, sampled and projected to generate a raster and a vector version for testing the zonal viewer assembly.

`, }, @@ -609,7 +609,7 @@ export const DATASETS = { url: null, data: `

Altitudinal and topographic slope ranges of the terrain.

Layers of polygons representing the ranges of altitude above sea level in meters (AFP_ALTIT) and the topographic slope of the terrain in degrees (AFP_SLOP), for the entire in the AFP's work area.

-

Compiled by Amazonia360, 2023, from Copernicus DEM elevation data which is a Digital Surface Model (DSM) representing the topographic surface of the Earth including buildings, infrastructure and vegetation. In particular, the GLO-30 product has been used, offering global coverage with a resolution of 30 meters. A Copernicus DEM altitude raster layer has been constructed in Amazonia360, covering northern South America. The original altitude raster data has been sampled and reclassified into classes relevant to agricultural development and forest management, infrastructure installation feasibility, accessibility and flood risk. The two vector layers of altitude and slope were then assembled from this reclassification. +

Compiled by Amazonia360+, 2023, from Copernicus DEM elevation data which is a Digital Surface Model (DSM) representing the topographic surface of the Earth including buildings, infrastructure and vegetation. In particular, the GLO-30 product has been used, offering global coverage with a resolution of 30 meters. A Copernicus DEM altitude raster layer has been constructed in Amazonia360+, covering northern South America. The original altitude raster data has been sampled and reclassified into classes relevant to agricultural development and forest management, infrastructure installation feasibility, accessibility and flood risk. The two vector layers of altitude and slope were then assembled from this reclassification. Copernicus DEM: https://spacedata.copernicus.eu/es/collections/copernicus-digital-elevation-model

`, }, @@ -634,7 +634,7 @@ export const DATASETS = { url: null, data: `

Frequency ranges of forest fires in the AFP work area.

Forest fire frequency classes, based on remotely sensed hot spot and forest fire data.

-

Compiled by Amazonia360 based on basic data of hot spots and forest fires from: Fire Information for Resource Management System (FIRMS) NASA. +

Compiled by Amazonia360+ based on basic data of hot spots and forest fires from: Fire Information for Resource Management System (FIRMS) NASA. https://firms.modaps.eosdis.nasa.gov/

The historical data of hot spots between March 2014 and March 2024, from the observation of different types of radiometers in Earth orbit, were requested and downloaded. The resulting event cloud was sampled using a 10 km analysis grid for each rectangular cell, covering the entire AFP working area. The centroids were generated with the accumulated events per cell and transformed into a raster image. This was reclassified to obtain event frequency ranges, cells with industrial or geological hot spots were filtered and polygons were generated to represent regions according to the frequency of fires.

`, @@ -712,7 +712,7 @@ export const DATASETS = { url: null, data: `

Estimate of deprivation, deprivation in living conditions in the AFP's work area.

Raster model that represents the levels of multidimensional deprivation in living conditions of the population, by means of an index assigned to each pixel of one kilometer resolution.

-

Adapted by Amazonia360, 2023, from the Global Relative Deprivation Index (GRDI), v1 (2010-2020) generated by the Socioeconomic Data and Applications Center (SEDAC; NASA, Columbia University) This is a gridded global relative deprivation index that characterizes multidimensional deprivation levels at each pixel with a resolution of ~1 km. The original GRDI dataset is a one-kilometer pixel model, with a value from 0 to 100, where a value of 100 represents the highest level of relative deprivation and a value of 0 the lowest. GRDIv1. It groups weights of six input components, or dimensions, which are combined to determine the degree of relative deprivation. These dimensions consider economic aspects and living conditions data. The original file is: povmap-grdi-v1-grdiv1-geotiff(1).zip; and comes from: +

Adapted by Amazonia360+, 2023, from the Global Relative Deprivation Index (GRDI), v1 (2010-2020) generated by the Socioeconomic Data and Applications Center (SEDAC; NASA, Columbia University) This is a gridded global relative deprivation index that characterizes multidimensional deprivation levels at each pixel with a resolution of ~1 km. The original GRDI dataset is a one-kilometer pixel model, with a value from 0 to 100, where a value of 100 represents the highest level of relative deprivation and a value of 0 the lowest. GRDIv1. It groups weights of six input components, or dimensions, which are combined to determine the degree of relative deprivation. These dimensions consider economic aspects and living conditions data. The original file is: povmap-grdi-v1-grdiv1-geotiff(1).zip; and comes from: Center for International Earth Science Information Network (CIESIN), Columbia University. 2022. Global Gridded Relative Deprivation Index (GRDI), Version 1. Palisades, New York: NASA Socioeconomic Data and Applications Center (SEDAC). https://doi.org/10.7927/3xxe-ap97

`, }, diff --git a/client/src/containers/disclaimers/data.tsx b/client/src/containers/disclaimers/data.tsx index ba6b79c4..9625452c 100644 --- a/client/src/containers/disclaimers/data.tsx +++ b/client/src/containers/disclaimers/data.tsx @@ -6,7 +6,7 @@ export default function DataDisclaimer() {

- The maps, data, and geographic information presented on Amazonia360 + The maps, data, and geographic information presented on Amazonia360+ are provided for reference purposes only and are intended solely to enhance territorial knowledge of the Amazonia Forever program's work area. @@ -14,7 +14,7 @@ export default function DataDisclaimer() {

International boundary lines and other administrative delimitations - used by Amazonia360 are sourced from carefully selected and + used by Amazonia360+ are sourced from carefully selected and well-referenced external sources. However, the original data may have been modified to meet cartographic visualization requirements. The cartographic material presented does not reflect any position @@ -24,10 +24,10 @@ export default function DataDisclaimer() {

This material is not suitable for precision applications, - navigation, or emergency situations. Amazonia360 and its affiliates, - including the Inter-American Development Bank (IDB), shall not be - held liable for any damages, losses, or claims arising from the use - of or reliance on the information provided. + navigation, or emergency situations. Amazonia360+ and its + affiliates, including the Inter-American Development Bank (IDB), + shall not be held liable for any damages, losses, or claims arising + from the use of or reliance on the information provided.

diff --git a/client/src/containers/disclaimers/demo.tsx b/client/src/containers/disclaimers/demo.tsx index 2de02854..bbfce00a 100644 --- a/client/src/containers/disclaimers/demo.tsx +++ b/client/src/containers/disclaimers/demo.tsx @@ -6,7 +6,7 @@ export default function DemoDisclaimer() {

- This website is a prototype of Amazonia360, designed to facilitate + This website is a prototype of Amazonia360+, designed to facilitate co-creation with select users. The contents and data are for demonstration purposes only and have not been fully validated yet. Please refrain from sharing this link, as the functionalities diff --git a/client/src/containers/header/__snapshots__/index.test.tsx.snap b/client/src/containers/header/__snapshots__/index.test.tsx.snap index a47d5b30..eb6e3705 100644 --- a/client/src/containers/header/__snapshots__/index.test.tsx.snap +++ b/client/src/containers/header/__snapshots__/index.test.tsx.snap @@ -30,7 +30,7 @@ exports[`Header renders the Home link selected 1`] = ` - Amazonia360 + Amazonia360+

- Amazonia360 + Amazonia360+
- Amazonia360 + Amazonia360+
{ it("renders the title", () => { render(
); - expect(screen.getByText("Amazonia360")).toBeInTheDocument(); + expect(screen.getByText("Amazonia360+")).toBeInTheDocument(); }); it("renders the logo", () => { diff --git a/client/src/containers/header/index.tsx b/client/src/containers/header/index.tsx index 91ceb175..4b26ff50 100644 --- a/client/src/containers/header/index.tsx +++ b/client/src/containers/header/index.tsx @@ -18,7 +18,7 @@ export default function Header() {

IDB
- Amazonia360 + Amazonia360+ Prototype

diff --git a/client/src/containers/home/help.tsx b/client/src/containers/home/help.tsx index 6f16b517..b801b0de 100644 --- a/client/src/containers/home/help.tsx +++ b/client/src/containers/home/help.tsx @@ -6,7 +6,7 @@ export default function Help() {

- Amazonia360 goes beyond simply presenting data, it's making + Amazonia360+ goes beyond simply presenting data, it's making sense of it. Our goal is to become a focal point that unifies and amplifies the potential of geospatial data and information produced by partners and initiatives dedicated to the region. By achieving diff --git a/client/src/containers/home/hero.tsx b/client/src/containers/home/hero.tsx index b2e8d419..c7585d4d 100644 --- a/client/src/containers/home/hero.tsx +++ b/client/src/containers/home/hero.tsx @@ -14,7 +14,7 @@ export default function Hero() { Understanding Amazonia like never before

- Amazonia360 is your gateway to + Amazonia360+ is your gateway to understanding and achieving the greatest impact in this region.

diff --git a/client/src/containers/home/vision.tsx b/client/src/containers/home/vision.tsx index fa27493e..978df8e6 100644 --- a/client/src/containers/home/vision.tsx +++ b/client/src/containers/home/vision.tsx @@ -6,13 +6,13 @@ export default function Vision() {

- amazonia360 vision{" "} + amazonia360+ vision{" "}

AI-Powered on the horizon{" "}

- As Amazonia360 grows beyond this prototype, we are committed to + As Amazonia360+ grows beyond this prototype, we are committed to enhancing your experience. The next chapter will see a suite of AI features that will elevate your search experience and understanding:

diff --git a/client/src/containers/report/results/header/share.tsx b/client/src/containers/report/results/header/share.tsx index 9f90990a..7ba3c992 100644 --- a/client/src/containers/report/results/header/share.tsx +++ b/client/src/containers/report/results/header/share.tsx @@ -64,7 +64,7 @@ export default function ShareReport() {