Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
759183b
fix(deps): pin pydantic[email] to close unpinned duplicate declaration
KIVOX-dev Aug 1, 2026
d621b5e
style: apply black formatting across python-service
KIVOX-dev Aug 1, 2026
e9ad48f
chore: ignore the black reformat commit in git blame
KIVOX-dev Aug 1, 2026
638ee21
feat: initialize project configuration in pyproject.toml
KIVOX-dev Aug 1, 2026
68d7b0e
docs: record third-pass toolchain audit findings
KIVOX-dev Aug 1, 2026
b418af2
feat: implement backend service architecture including auth, dashboar…
KIVOX-dev Aug 1, 2026
d61230c
feat: migrate to Node.js backend, add secure file uploads, validation…
KIVOX-dev Aug 1, 2026
7e2baa6
feat: scaffold Node.js API with health checks, rate limiting, and Web…
KIVOX-dev Aug 1, 2026
9dabb02
initialize virtual environment and dependency structure for AI service
KIVOX-dev Aug 1, 2026
daa52d0
feat: introduce ai-service microservice, implement student repository…
KIVOX-dev Aug 1, 2026
f088c70
feat: implement ai-service with security configuration, CI workflows,…
KIVOX-dev Aug 1, 2026
0f8e968
feat: add docker-compose stack, nginx load balancing, and credential …
KIVOX-dev Aug 1, 2026
364a4a3
feat: implement Redis-backed rate limiting with configurable auth/kio…
KIVOX-dev Aug 1, 2026
7e8920b
feat: add capacity benchmark script for node-api and configure pytest…
KIVOX-dev Aug 2, 2026
0b4fe08
Merge origin/main and resolve pyproject conflict
Copilot Aug 2, 2026
f3c71df
Apply remaining changes
Copilot Aug 2, 2026
192d8aa
feat: implement base repository pattern, add department/resume models…
KIVOX-dev Aug 2, 2026
337984a
test: add integration test suite for auth registration, login, refres…
KIVOX-dev Aug 2, 2026
1ad8ddf
changes in setting
KIVOX-dev Aug 5, 2026
5c6619e
test: add integration suite for auth flows and configure environment …
KIVOX-dev Aug 5, 2026
53c5244
feat: implement TestService with assessment logic and configure Claud…
KIVOX-dev Aug 5, 2026
5318891
feat: implement placement application and record modules with secure …
KIVOX-dev Aug 5, 2026
7f8b450
feat: implement secure PlacementRecordService with role-based authori…
KIVOX-dev Aug 5, 2026
bf5781f
feat: add Cloud Build configuration, service-specific dockerignore, a…
KIVOX-dev Aug 5, 2026
f72051a
Potential fix for pull request finding 'CodeQL / Workflow does not co…
KIVOX-dev Aug 5, 2026
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
24 changes: 23 additions & 1 deletion .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,29 @@
"Bash(JWT_SECRET=x JWT_REFRESH_SECRET=y MONGODB_URI=mongodb://localhost:27017 node -e ' *)",
"Bash(node _smoke_userdata.js)",
"Bash(node _smoke_email_send.js)",
"Bash(node _smoke_profile_upload.js)"
"Bash(node _smoke_profile_upload.js)",
"Bash(grep -i '\\\\.html$')",
"Bash(curl -s -o /dev/null -w \"backend health: %{http_code}\\\\n\" http://localhost:5000/api/v1/health)",
"Bash(curl -s -o /dev/null -w \"root: %{http_code}\\\\n\" http://localhost:5000/)",
"Bash(curl -s -o /dev/null -w \"/health: %{http_code}\\\\n\" http://localhost:5000/health)",
"Bash(curl -s -o /dev/null -w \"/api/v1: %{http_code}\\\\n\" http://localhost:5000/api/v1)",
"Bash(npx --yes playwright install --dry-run chromium)",
"Bash(cp /d/Upscaler-Frontend/src/styles/legacy-portal.css /c/Users/07kav/AppData/Local/Temp/claude/d--backend/10686d40-28ba-448e-825b-f09f4e650cc2/scratchpad/legacy-portal.css)",
"Bash(cp /d/Upscaler-Frontend/src/styles/theme-refined.css /c/Users/07kav/AppData/Local/Temp/claude/d--backend/10686d40-28ba-448e-825b-f09f4e650cc2/scratchpad/theme-refined.css)",
"Bash(cp /d/Upscaler-Frontend/src/styles/legacy-settings.css /c/Users/07kav/AppData/Local/Temp/claude/d--backend/10686d40-28ba-448e-825b-f09f4e650cc2/scratchpad/legacy-settings.css)",
"Read(//c/Users/07kav/AppData/Local/Temp/claude/d--backend/10686d40-28ba-448e-825b-f09f4e650cc2/scratchpad/**)",
"Bash(node inspect2.js)",
"Bash(node inspect3.js)",
"Bash(node inspect4.js)",
"Bash(node inspect5.js)",
"Bash(node scratch_make_roster.js)",
"Bash(rm scratch_make_roster.js)",
"Bash(node inspect7.js)",
"Bash(curl -s -o /dev/null -w \"proof file HTTP status: %{http_code}\\\\n\" \"http://localhost:5000/uploads/placement-proof/8c2b94e0-8854-46e4-840a-a45e11df4c27.png\")",
"Bash(node repro_login.js)",
"Bash(node repro_login2.js)",
"Bash(node repro_final_check.js)",
"Bash(gcloud config *)"
]
}
}
34 changes: 34 additions & 0 deletions .env.compose.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copy to `.env` in this directory — docker compose reads it automatically.
# cp .env.compose.example .env
#
# JWT_SECRET and JWT_REFRESH_SECRET have no defaults on purpose: compose
# refuses to start without them rather than booting with a guessable value.
# Generate each with: openssl rand -base64 48

JWT_SECRET=
JWT_REFRESH_SECRET=

# Must be identical for node-api and ai-service (compose passes this one
# variable to both). Generate the same way as above.
AI_SERVICE_SHARED_SECRET=dev-only-shared-secret-change-me

# Set to `production` to make ai-service refuse to boot while
# AI_SERVICE_SHARED_SECRET is still the public default above.
AI_SERVICE_ENV=development

# Optional — AI features degrade gracefully (local fallback questions,
# unmodified resume text) when this is unset.
GROQ_API_KEY=

# Optional — transactional email is skipped when unset.
BREVO_API_KEY=
BREVO_SENDER_EMAIL=
BREVO_SENDER_NAME=UpScaler-AI

MONGODB_DB_NAME=upscaler_ai_node
CORS_ORIGINS=http://localhost:3000
FRONTEND_URL=http://localhost:3000

# Baked into the frontend bundle at BUILD time — this is what the browser
# calls, so it must be reachable from the host, not a compose service name.
NEXT_PUBLIC_API_URL=http://localhost:5000/api/v1
10 changes: 10 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Revisions listed here are skipped by `git blame`.
# Enable locally with:
# git config blame.ignoreRevsFile .git-blame-ignore-revs
# (GitHub reads this file automatically.)
#
# Only pure-formatting commits belong here — never anything that changes
# behaviour, or blame will hide real changes.

# style: apply black formatting across python-service
d621b5ecc01bce9792e452fcc1c5d8a54bb34484
Loading
Loading