A little housekeeping for jedmund.com
Find a file
Justin Edmund 38b62168e9 feat(database): redesign album system with content support and geolocation
- Add album content field for rich text/structured content
- Add geolocation support for albums with position and zoom level
- Remove direct photo-album relationship in favor of MediaAlbum join table
- Support many-to-many relationships between media and albums
- Add Album relation to Universe model for better organization

This enables albums to have rich content beyond just photos and supports
geographic data for location-based albums.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:10:54 +01:00
.storybook Prettier + build errors 2025-06-02 08:41:03 -07:00
docs feat: add Cloudinary audit functionality 2025-06-16 16:56:05 +01:00
prd Apple Music API 2025-06-13 21:22:39 -04:00
prisma feat(database): redesign album system with content support and geolocation 2025-06-24 01:10:54 +01:00
scripts chore: add color analysis scripts 2025-06-19 01:59:36 +01:00
src Change default view 2025-06-19 11:27:21 +01:00
static Fix some console errors 2025-06-11 22:19:07 -07:00
.env.example Apple Music API 2025-06-13 21:22:39 -04:00
.gitignore feat: add database backup and restore functionality 2025-06-19 01:58:37 +01:00
.node-version Merge branch 'universe/posts' of github.com:jedmund/jedmund-svelte into universe/posts 2025-06-02 15:34:40 -07:00
.npmrc Initial commit 2024-07-01 22:46:33 -04:00
.prettierignore Initial commit 2024-07-01 22:46:33 -04:00
.prettierrc Removed trailing semicolons 2024-07-12 03:37:06 -04:00
CLAUDE.md Prettier + build errors 2025-06-02 08:41:03 -07:00
eslint.config.js Prettier + build errors 2025-06-02 08:41:03 -07:00
LOCAL_SETUP.md Admin WIP 2025-05-27 16:57:51 -07:00
package-lock.json Add better masonry and infinite scrolling 2025-06-16 09:58:07 +01:00
package.json feat: add database backup and restore functionality 2025-06-19 01:58:37 +01:00
README.md Fix Cloudinary media audit 2025-06-17 08:13:43 +01:00
svelte.config.js Increase body size limit 2025-06-02 16:49:21 -07:00
test-db.ts Unify fullscreen editors 2025-06-13 14:17:26 -04:00
test-form-loading.js Prettier + build errors 2025-06-02 08:41:03 -07:00
tsconfig.json Initial commit 2024-07-01 22:46:33 -04:00
vite.config.ts Fix unused CSS selector warnings 2025-06-13 15:05:18 -04:00

jedmund.com

Personal portfolio website built with SvelteKit featuring a content management system for showcasing creative work, writing, and personal interests.

Features

  • Content management system for organizing and displaying various types of media
  • Photo galleries with masonry layout and infinite scrolling
  • Blog/journal section for long-form writing
  • Music listening history integration via Last.fm API
  • Gaming activity tracking from Steam and PlayStation
  • Project showcase pages with detailed case studies
  • Responsive design with customizable themes

Tech Stack

  • SvelteKit with Svelte 5 (Runes mode)
  • Redis for caching external API responses
  • SCSS for styling
  • Integration with Last.fm, Steam, PSN, iTunes, and Giant Bomb APIs

Development

Install dependencies:

npm install

Start development server:

npm run dev

Build for production:

npm run build

Environment Variables

Required environment variables:

  • LASTFM_API_KEY - Last.fm API key for music data
  • REDIS_URL - Redis connection URL for caching

Optional environment variables:

  • DEBUG - Enable debug logging for specific categories (e.g., DEBUG=music for music-related logs)

Commands

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run preview - Preview production build
  • npm run check - Type check with svelte-check
  • npm run lint - Check formatting and linting
  • npm run format - Auto-format code with prettier