Skip to content

kdm-kev-NTNU/AboutMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,806 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AboutMe

Personal portfolio (NO/EN) with document-grounded AI chat, OpenAI Realtime voice, and admin RAG tooling.

Stack: Vue 3 + Vite · Spring Boot 4 + Spring AI · PostgreSQL/pgvector · Docker

Quick start

cp .env.example .env          # set OPENAI_API_KEY
cp .env.example .env.docker   # keep POSTGRES_PASSWORD lines for Compose
docker compose up -d db
cd backend && ./mvnw spring-boot:run
cd frontend/homepage && npm install && npm run dev

Docker dev profile (one command; use port 5174, not 5173):

.\scripts\dev-up.ps1

Docker (full stack)

docker compose --profile prod up -d --build

Tests

cd backend && ./mvnw verify
cd frontend/homepage && npm ci && npm run test:unit && npm run lint:ci

Configuration

All variables: .env.example. Defaults live in backend/src/main/resources/application.yaml.

RAG documents go in backend/data/docs/ (gitignored). After backend API changes:

cd frontend/homepage && node scripts/patch-openapi-extensions.mjs
cd backend && ./mvnw test -Dtest=SecurityConfigIT#openApiSnapshotIncludesEndpointsAndOptionalExport -Dopenapi.export=true
cd frontend/homepage && npm run api:generate

Commit openapi/openapi.json and src/api/generated/portfolio.ts if they changed.

Deploy

Production runs on Railway with SPRING_PROFILES_ACTIVE=prod. Set PORTFOLIO_JWT_SECRET and AI_BUDGET_ANON_SALT before going live.

Two Railway services share this monorepo: AboutMe (backend, backend/railway.toml) and resilient-emotion (frontend, frontend/homepage/railway.toml). Each has rootDirectory set in the dashboard. Backend uses watchPatterns = ["backend/**"] (repo-root paths). Frontend omits watch patterns so every push rebuilds. A push that only touches frontend files will show SKIPPED on the backend service — that is expected. If a service should have deployed but shows SKIPPED, redeploy manually:

railway redeploy --service resilient-emotion --from-source --yes   # frontend (latest git commit)
railway redeploy --service AboutMe --from-source --yes             # backend

About

Portfolio

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors