https://github.com/sssamuelll/abc
Portfolio website for art director Angelica Burgos. React + TypeScript + headless WordPress, 8 languages.
https://github.com/sssamuelll/abc
headless-cms i18next multilingual portfolio react typescript vite wordpress
Last synced: 21 days ago
JSON representation
Portfolio website for art director Angelica Burgos. React + TypeScript + headless WordPress, 8 languages.
- Host: GitHub
- URL: https://github.com/sssamuelll/abc
- Owner: sssamuelll
- Created: 2026-02-16T14:20:42.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-05-24T08:26:03.000Z (about 1 month ago)
- Last Synced: 2026-05-24T10:22:11.224Z (about 1 month ago)
- Topics: headless-cms, i18next, multilingual, portfolio, react, typescript, vite, wordpress
- Language: PHP
- Homepage: https://angelicaburgos.art
- Size: 428 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ABC – Angelica Burgos Portfolio
Monorepo for the Angelica Burgos portfolio website. React + TypeScript frontend with a headless WordPress backend.
## Structure
```
abc/
├── frontend/ # React/Vite frontend (TypeScript)
├── wordpress/ # Headless WordPress backend
│ ├── wp-content/ # Themes, plugins, languages
│ ├── docker-compose.yml # Docker setup for WordPress + MariaDB + phpMyAdmin
│ ├── uploads.ini # PHP upload config
│ └── .env.example # Environment variables template
├── tools/
│ ├── image-optimizer/ # FFmpeg-based image optimization tool
│ └── gif-optimizer/ # FFmpeg-based GIF optimization tool
├── .github/workflows/
│ ├── deploy-frontend.yml # Auto-deploy frontend on push
│ └── deploy-wordpress.yml # Auto-deploy WordPress plugins/themes on push
└── README.md
```
## Deployment
Both services deploy automatically via GitHub Actions on push to `main`:
- **Frontend**: Triggers when `frontend/**` changes. Builds with Node 22, deploys build output to the server, reloads nginx.
- **WordPress**: Triggers when `wordpress/wp-content/plugins/**` or `wordpress/wp-content/themes/**` change. Syncs files to the server, restarts the Docker container.
### Required GitHub Secrets
- `SSH_HOST` – Server hostname
- `SSH_KEY` – SSH private key for deployment
## Development
### Frontend
```bash
cd frontend
cp .env.example .env # configure API URL
npm install
npm run dev
```
### WordPress
```bash
cd wordpress
cp .env.example .env # configure DB credentials
docker compose up -d
```
## Internationalization
The frontend supports 8 languages: English, Spanish, French, Portuguese, German, Japanese, Korean, and Traditional Chinese. Translations are managed via i18next in `frontend/public/locales/`.