feat: restructure Wazivo into production-ready resume analysis MVP#2
feat: restructure Wazivo into production-ready resume analysis MVP#2
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f1bdaa5074
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Cloud: [/\baws\b/i, /\bazure\b/i, /\bgcp\b/i, /\bgoogle cloud\b/i, /\bvercel\b/i], | ||
| DevOps: [/\bdocker\b/i, /\bkubernetes\b/i, /\bterraform\b/i, /\bci\/cd\b/i, /\bgithub actions\b/i], | ||
| APIs: [/\brest\b/i, /\bgraphql\b/i, /\bapi\b/i], | ||
| Data Analysis: [/\bpandas\b/i, /\bnumpy\b/i, /\bpower bi\b/i, /\btableau\b/i, /\bexcel\b/i], |
There was a problem hiding this comment.
Quote object keys that contain spaces
SKILL_PATTERNS uses Data Analysis as an unquoted object key, which is invalid TypeScript syntax and stops compilation (TS1005). This makes the app fail to build before any runtime behavior can be exercised, so the key needs to be quoted (or renamed) to keep the project buildable.
Useful? React with 👍 / 👎.
|
|
||
| export const runtime = 'nodejs'; | ||
| export const maxDuration = 60; | ||
| import { analyzeResume, type ResumeAnalysis } from '../../../../lib/resumeAnalyzer'; |
There was a problem hiding this comment.
Correct API imports to resolve src/lib modules
These API routes import from ../../../../lib/*, which resolves to a top-level lib directory outside src from src/app/api/*/route.ts; that directory does not exist in this repo, so Next.js cannot resolve these modules and the build fails with module-not-found errors. The same incorrect depth appears in src/app/api/rewrite/route.ts and src/app/api/cover-letter/route.ts.
Useful? React with 👍 / 👎.
| const key = `ratelimit:${scope}:${identifier}:${bucket}`; | ||
|
|
||
| try { | ||
| const count = Number((await redisCommand(['INCR', key])) ?? 0); |
There was a problem hiding this comment.
Use memory fallback when Redis is not configured
When Upstash env vars are absent, redisCommand returns null, so rateLimit computes count as 0 and returns early from the Redis branch; this bypasses the in-memory fallback and effectively disables rate limiting in exactly the "optional Redis" setup described by this MVP. In this configuration, abuse protection never engages because every request is treated as allowed.
Useful? React with 👍 / 👎.
Summary
src/app,src/components, andsrc/libNotes