Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/deploy-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ jobs:
run: cp docs/.env.example docs/.env

- name: Build Image
run: docker compose -f docker-compose.dev.yml build
run: docker compose build

- name: Push Image to Docker Hub
run: docker compose -f docker-compose.dev.yml push
run: docker compose push
2 changes: 1 addition & 1 deletion .github/workflows/pull-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ jobs:
run: cp docs/.env.example docs/.env

- name: Pull Development Image
run: docker compose -f docker-compose.dev.yml pull
run: docker compose pull
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,13 @@ The app depends these libraries and frameworks.
2. (Optional) Run the app for local development using Docker. Navigate to the project's root directory then run:<br>
```
# 2.1. Build the client and server containers for localhost development.
docker compose -f docker-compose.dev.yml build
docker compose build

# 2.2. Create and start the development client and server containers
docker compose -f docker-compose.dev.yml up
docker compose up

# 2.3. Stop and remove the development containers, networks, images and volumes
docker compose -f docker-compose.dev.yml down
docker compose down
```

3. Add or edit MDX files in the `/pages` directory, or add React components in the `/components` directory.
Expand Down Expand Up @@ -111,27 +111,27 @@ https://hub.docker.com/r/acaptutorials/acaptutorials.github.io

1. Pull the development Docker image from Docker Hub using one of the options.<br>
- `docker pull acaptutorials/acaptutorials.github.io:latest`
- `docker compose -f docker-compose.dev.yml pull` (using Docker compose from the root project directory)
- `docker compose pull` (using Docker compose from the root project directory)

2. Navigate to the project directory using the command line. Create a `.env` file inside the **/docs** directory with reference to the `.env.example` file.
- See [Usage](#usage) - **step # 2** for more information.

3. Run the development Docker image.<br>
`docker compose -f docker-compose.dev.yml up`
`docker compose up`

4. (Optional) Run the development Docker image (from other directories).<br>
`docker run -it --rm -p 3000:3000 acaptutorials/acaptutorials.github.io:latest`

### Build the Development Docker Image

1. Build the development Docker image on your machine.<br>
`docker compose -f docker-compose.dev.yml build`
`docker compose build`

2. Navigate to the project directory using the command line. Create a `.env` file inside the **/docs** directory with reference to the `.env.example` file.
- See [Usage](#usage) - **step # 2** for more information.

3. Run the development Docker image.<br>
`docker compose -f docker-compose.dev.yml up`
`docker compose up`

## Usage with GitHub Actions

Expand All @@ -155,6 +155,7 @@ https://hub.docker.com/r/acaptutorials/acaptutorials.github.io
| --- | --- |
| DOCKERHUB_USERNAME | Docker Hub username |
| DOCKERHUB_TOKEN | Deploy token for the Docker Hub account |
| FIREBASE_TOKEN | Firebase CI token for deployment to Firebase Hosting |

#### GitHub Variables

Expand Down
File renamed without changes.
6 changes: 6 additions & 0 deletions docs/pages/announcements.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,9 @@ import { Cards, Image } from 'nextra/components'
<>![Documentation theme](/assets/docs-theme.png)</>
</Cards.Card>
</Cards>

<Cards num={1}>
<Cards.Card arrow title="PAGASA 10-Day Excel Files Discontinued (Effective Aug 31, 2025)" href="/announcements/pagasa-10day-excel">
<>![Documentation theme](/assets/docs-theme.png)</>
</Cards.Card>
</Cards>
4 changes: 4 additions & 0 deletions docs/pages/announcements/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,9 @@
"firebase-storage-2024": {
"title": "Firebase Storage Pricing Plan Changes (2024)",
"type": "page"
},
"pagasa-10day-excel": {
"title": "PAGASA 10-Day Excel Files Discontinued",
"type": "page"
}
}
126 changes: 126 additions & 0 deletions docs/pages/announcements/pagasa-10day-excel.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
import { useEffect, useState, useMemo } from 'react'
import { useTheme } from 'next-themes'
import { Callout } from 'nextra/components'

export function FAQBox({ title, children, open = false, color = '' }) {
// Copied from /articles/provinces-municipalities.mdx
const [isClient, setIsClient] = useState(false)
const { theme, resolvedTheme } = useTheme()

useEffect(() => {
setIsClient(true)
}, [])

const detailsBgStyle = useMemo(() => {
const bg = resolvedTheme === 'dark'
? 'bg-neutral-800'
: 'bg-neutral-50'

return `last-of-type:mb-0 rounded-lg ${bg} p-2 mt-4`
}, [resolvedTheme])

return !isClient
? <div>...</div>
: (
<details
open={open}
className={detailsBgStyle}
>
<summary>
<strong className={`text-md ${color}`}>{title}</strong>
</summary>
<div className="nx-p-2">{children}</div>
</details>
)
}

# PAGASA 10-Day Excel Files Discontinued

**Effective August 31, 2025**

## What's Changing

<Callout type="warning">
Starting **August 31, 2025**, PAGASA will no longer provide its **10-Day Weather Forecast in Excel format**.
Instead, all forecasts will be delivered through the new [PAGASA TenDay API](https://tenday.pagasa.dost.gov.ph/docs) launched in **July 2025**.
This means any ACAP process, report, or system that currently relies on downloading Excel files will cease to function unless updated to use the API.

_Note: PAGASA has not announced plans to archive past Excel files._
</Callout>

<details>
<summary>Click to view the attached screenshot of PAGASA's announcement for more information.</summary>
![PAGASA 10-Day Excel files discontinuation announcement](https://firebasestorage.googleapis.com/v0/b/assets-cms.appspot.com/o/users%2FAwryJ0MU8zdxQFh9y0L0x2sSt8z1%2FNOZHqk2E8F8RoVvZuVVv_file?alt=media&token=88bd0b49-b7ee-45f8-843e-11bd0b9dcfe6)

<sup>
[alternate screenshot](https://private-user-images.githubusercontent.com/30580083/481051514-2d333f63-8fc4-4d81-a8da-d0ff48698c5e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTY1MzczNTAsIm5iZiI6MTc1NjUzNzA1MCwicGF0aCI6Ii8zMDU4MDA4My80ODEwNTE1MTQtMmQzMzNmNjMtOGZjNC00ZDgxLWE4ZGEtZDBmZjQ4Njk4YzVlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTA4MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwODMwVDA2NTczMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVkNDUzZmI0NjVhMTQxOWZhMmUxZDU4YmQ5ZTc1N2EzOGUwMWE1N2VlNWFhNGI3ODA4MTNkZDVmZDg5MjEwYzEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.cUM-tiJyihJq5r8zyiTXW_h3_Astl3obI-XvymTy684)
</sup>

</details>

## FAQs

The following FAQs explain who will be affected, why this change is happening, and how projects should prepare.

<FAQBox title="Who this affects">
Projects that use the **PAGASA 10-Day Weather Forecast Excel files**.

It includes **components in acap-v2** ([ACAP 2.0](/changelog/#version-2-acap-20)) and **climate-services-webportal-v1** ([ACAP 1.0](/changelog/#version-1-acap-10)), plus any forks, scripts, or automated tasks fetching Excel-based forecasts:

1. [Provinces and municipalities listing](/articles/provinces-municipalities/)
2. [10-Day Weather Forecast data](/post-installation/weather-forecasts/tenday-forecast/)
3. _([ACAP-RCMAS REST APIs](/post-installation/acap-rcmas-api) - if these APIs are activated)_
4. Automated scripts/workflows

<Callout type="warning">
After **August 31, 2025**, all workflows relying on Excel files will fail unless updated to use the API.
</Callout>

</FAQBox>

<FAQBox title="Why this change matters">
PAGASA is modernizing data sharing by moving from Excel files to REST APIs, reducing brittle manual steps, and enabling more robust integrations.

The new [PAGASA TenDay API](https://tenday.pagasa.dost.gov.ph/docs) (launched July 2025) covers both **10-Day** and **Seasonal weather forecasts**.

<Callout type="info">
It is not yet known whether PAGASA will also discontinue the [**Seasonal Weather Forecast Excel files**](/post-installation/weather-forecasts/seasonal-forecast/#pagasa-seasonal-weather-forecast-excel-file).
</Callout>
</FAQBox>

<FAQBox title="What you should do">

<Callout type="info">
There are currently no news or directives for syncing the parent **acap-v2** code repository to the **PAGASA TenDay API**. Projects using it as base template (including ACAP Bicol) are advised to sync their ACAPs to the API until futher notice.
</Callout>

Here are the recommended migration steps for syncing ACAP to the PAGASA TenDay API. However, <u><i>feel free to adjust and customize as deemed necessary</i></u>.

1. Review the [PAGASA TenDay API documentation](https://tenday.pagasa.dost.gov.ph/docs).
2. Request an **API key** from PAGASA.
3. **Regional location data:** Build the provinces and municipalities list from the PAGASA TenDay API, possibly from its **Validation - Location** endpoint at `"https://tenday.pagasa.dost.gov.ph/api/v1/location"`.
4. **Data source:** Replace the **10-Day weather forecast Excel file** fetch/parse logic with **TenDay API REST responses**.
5. Update scripts — Excel downloads will stop after August 31, 2025.

<Callout>
**Tip:** ACAP (1.0 until version 2.0 - 2.1) processes its **provinces and municipalities list** and **10-day weather forecast data** using the `"npm run cron:tenday"` NPM script, under the `"/server/src/scripts/cron/update_tenday_weather"` folder.

Inspect and customize scripts in this folder to sync with the PAGASA TenDay API.

Revisiting ACAP's architecture diagrams in the root `README` and `"/server/src/scripts/generate-docs/templates/img-acap.png"` may also help.
</Callout>

</FAQBox>

<FAQBox title="Learn more">
Visit these references to learn more about the changes.

- [PAGASA TenDay API](https://tenday.pagasa.dost.gov.ph/docs)
- [10-Day Weather Forecast](/post-installation/weather-forecasts/tenday-forecast/)
- [Provinces and Municipalities](/articles/provinces-municipalities)
- [ACAP-RCMAS REST APIs](/post-installation/acap-rcmas-api)
</FAQBox>

---

*Disclaimer: This documentation update does not imply ongoing involvement with the project.*
16 changes: 16 additions & 0 deletions docs/pages/articles.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { Cards, Card, FileTree } from 'nextra/components'

# Articles

A collection of articles and notes about development and other details.

<br />

<Cards num={2}>
<Cards.Card arrow title="🚀 Deployment" href="/articles/deployment" />
<Cards.Card arrow title="🚀 Deployment to Vercel" href="/articles/deployment-vercel" />
<Cards.Card arrow title="📰 PDF Development" href="/articles/pdf-development" />
<Cards.Card arrow title="🗺️ Provinces and Municipalities" href="/articles/provinces-municipalities" />
<Cards.Card arrow title="📦 Open Source Libraries" href="/articles/opensource-libraries" />
<Cards.Card arrow title="🛡️ Security Best Practices" href="/articles/security-bestpractices" />
</Cards>
7 changes: 7 additions & 0 deletions docs/pages/articles/deployment.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@ These videos created for ACAP's initial release (ACAP 1.0) back in **2023** shou
Follow the steps in the **Render Initial Blueprint Instance** section to sync its Render deployment methods with the ACAP 2.0 updates.
</Callout>

## Git Flow

CI/CD using GitHub Actions deploy code updates to the **development** or **production** environments following this [simplified version of Git Flow](https://youtu.be/cV-9KszXEyw?feature=shared&t=845). Refer to the [Git Flow](/post-installation/git-flow) page for more information about this process.

<br />

<img src="https://firebasestorage.googleapis.com/v0/b/assets-cms.appspot.com/o/users%2FAwryJ0MU8zdxQFh9y0L0x2sSt8z1%2Ffd8YN8jIdC6dikTDYllr_file?alt=media&token=050ea71e-d56c-4844-ad8e-7c796b123b5d" alt="acap-git-flow" style={{ margin: "auto" }} />

## Render Initial Blueprint Instance

Expand Down
4 changes: 4 additions & 0 deletions docs/pages/articles/provinces-municipalities.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ export function FAQBox({ title, children, open = false }) {

ACAP uses a combination of the [PAGASA 10-day weather forecast Excel files](https://www.pagasa.dost.gov.ph/climate/climate-prediction/10-day-climate-forecast) and the [PAGASA Seasonal Forecast- Forecast Rainfall Analysis Table](https://www.pagasa.dost.gov.ph/climate/climate-prediction/seasonal-forecast) as a data source for its region, provinces, and municipalities list.

<Callout type="warning">
Starting **August 31, 2025**, PAGASA will no longer provide the **10-Day Excel files**. Check the [Announcements](/announcements/pagasa-10day-excel) section for more information.
</Callout>

## FAQs

<FAQBox title="Where does ACAP source its provinces and municipalities list?">
Expand Down
15 changes: 12 additions & 3 deletions docs/pages/post-installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import { Cards, Card, Callout } from 'nextra/components'

# Post-Installation

These tutorials contain additional post-installation instructions after initially setting up the client and server apps in the [Installation](/installation) section.
These tutorials contain additional post-installation instructions and guidelines after initially setting up the client and server apps in the [Installation](/installation) section.

<br />

### Immediate
### Immediate

<Cards>
<Card title="Web Map / AMIA Villages" href="/post-installation/webmap" />
Expand All @@ -17,10 +17,19 @@ These tutorials contain additional post-installation instructions after initiall
<Card title="Opengraph Settings" href="/post-installation/opengraph" />
</Cards>

### Optional
### Optional

<Cards>
<Card title="Province Codes" href="/post-installation/province-codes" />
<Card title="ACAP-RCMAS REST APIs" href="/post-installation/acap-rcmas-api" />
<Card title="Google Search Console" href="/post-installation/google-search" />
</Cards>

<br />

### 💡 During Development

<Cards>
<Card title="Git Flow" href="/post-installation/git-flow" />
<Card title="Site Search" href="/post-installation/site-search" />
</Cards>
4 changes: 3 additions & 1 deletion docs/pages/post-installation/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@
"acap-rcmas-api": "ACAP-RCMAS REST APIs",
"opengraph": "Opengraph Settings",
"google-search": "Google Search Console",
"province-codes": "Province Codes"
"province-codes": "Province Codes",
"git-flow": "Git Flow",
"site-search": "Site Search"
}
53 changes: 53 additions & 0 deletions docs/pages/post-installation/git-flow.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import { Callout, Steps } from 'nextra/components'

# Git Flow

This page **summarizes the simplified version of Git Flow** branching strategy from the [ACAP video tutorials](https://youtu.be/cV-9KszXEyw?feature=shared&t=845) when developing new features, bug fixes or tasks.

CI/CD using GitHub Actions deploy code updates to the **development** or **production** environments on certain triggers (eg., merging PRs to the dev branch or creating new Releases).

<br />

<img src="https://firebasestorage.googleapis.com/v0/b/assets-cms.appspot.com/o/users%2FAwryJ0MU8zdxQFh9y0L0x2sSt8z1%2Ffd8YN8jIdC6dikTDYllr_file?alt=media&token=050ea71e-d56c-4844-ad8e-7c796b123b5d" alt="acap-git-flow" style={{ margin: "auto" }} />


**(Optional)** Before proceeding, create a GitHub Issue describing the new feature, bug fix or task that you'll develop. This tracks and organizes the details of the incoming updates.

<Steps>

### Create a feature branch

- Create a **feature branch** branching out from the **dev branch**

> If a GitHub Issue describes this feature, name the branch with the GitHub Issue number eg., `feat/acaptutorials-12` (Issue #12)

```sh
git checkout dev
git checkout -b feat/acaptutorials-12

# Using other branch names
# git checkout -b awesome-update
```

- This isolates new work (feature, bug fix, or task) so it doesn't destabilize the shared development branch.

### Merge the feature branch back to dev

- Once the feature is complete and reviewed via a **Pull Request (PR)**, it's merged back into **dev**.
- Approving a PR to the dev branch (or pushing updates directly to the dev branch) triggers a deployment to the **development** (Firebase Hosting, Render and, [Vercel](/articles/deployment-vercel) (if available)) environment.
- It allows testing the feature with other in-progress features in an integrated (development) environment.
- Delete the feature branch afterward to keep the repository clean.

### Promote dev to master

- When the **dev branch** has accumulated stable, tested features, create a Pull Request (PR) to **master**
- The master branch always reflects the code that's safe to release to production.

### Tag a release

- Tag and version a release from the **master branch** (e.g., v1.0.0).
- This creates an immutable snapshot of the code that corresponds to a specific release.
- It also triggers a deployment to the **production** (GitHub Pages, Render and, [Vercel](/articles/deployment-vercel) (if available)) environment.

</Steps>

Loading