digital-resources
digital-resources copied to clipboard
feat: add Astro DB
📚 Description
This PR adds Astro DB as a data source, both for local development (via CSV seeder files) and remote Studio connection.
This is still a draft until I manage to make the resource page functional, plus all the taxonomy pages. The rest will have to be optimized in further PRs.
Known issues include:
- Astro Studio (remote) is populating with the DB structure but not with the contents of the CSV files in
seed.ts
- maybe I should use fetching techniques instead of the file system - GitHub Actions for DB are failing
- several TSC warnings left to fix
- etc
I should fix them before merging this.
🔗 Linked issue(s)
Fixes #12 (Figure out initial database solution).
Fixes #73 (Refactor getStaticPaths
).
Fixes #76 (Add all document links).
Fixes #100 (YouTube Embeds).
Fixes #137 (Refactor ResourceList
and ResourceTOC
).
Fixes #159 (Add Supabase).
Fixes #160 (Test Supabase as initial storage solution).
Fixes #170 (Redirect table in Supabase).
Fixes #284 (Test AstroDB as initial storage solution).
❓ Type of change
- [x] 🐞 Bug fix (non-breaking change which fixes an issue)
- [x] 📖 Content update (text or image-related updates)
- [x] 🖼️ Design update (UI design and static template related change)
- [x] 🆕 New page (addition or major edit for an existing page layout)
- [ ] 📓 Documentation update (improvements or additions to documentation)
- [x] 👌 Enhancement (improving an existing functionality, like performance)
- [x] ✨ New feature (a non-breaking change that adds functionality)
- [x] 🛠️ Operational update (changes to configuration, CI/CD, procedures, etc.)
- [ ] 🛡️ Security update (a fix or update required to alleviate a cyber security issue)
- [x] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected)
📄 Changelog
- cleanup and editing of operational files
- update all packages and add PNPM action to ease updating via
pnpm up
- add some additional packages and activate experimental features like
ViewTransition
andAstro Server Islands
as a POC - scrape document to get links, scrape all links to get meta titles and descriptions where possible, generate taxonomy and resource CSVs with ChatGPT, clean them up, upload to Google Sheets as visual database, populate with missing info and download data as final CSV for seeding into database
- insert Astro DB into configurations and use it to store data
- steal good code from the Supabase branch and factor it into the current one
✅ Checklist
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings or errors
- [ ] I have manually tested the newly added functionality with no discernable errors
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [x] Any dependent changes have been merged and published in downstream modules