{"id":50695747,"url":"https://github.com/hngprojects/vulnwatch-frontend","last_synced_at":"2026-06-09T06:08:34.198Z","repository":{"id":357610776,"uuid":"1237532731","full_name":"hngprojects/vulnwatch-frontend","owner":"hngprojects","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-13T15:23:29.000Z","size":4384,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"dev","last_synced_at":"2026-05-13T15:26:47.874Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hngprojects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-13T09:13:49.000Z","updated_at":"2026-05-13T14:50:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hngprojects/vulnwatch-frontend","commit_stats":null,"previous_names":["hngprojects/vulnwatch-frontend"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/hngprojects/vulnwatch-frontend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hngprojects%2Fvulnwatch-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hngprojects%2Fvulnwatch-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hngprojects%2Fvulnwatch-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hngprojects%2Fvulnwatch-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hngprojects","download_url":"https://codeload.github.com/hngprojects/vulnwatch-frontend/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hngprojects%2Fvulnwatch-frontend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34093840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-09T06:08:33.564Z","updated_at":"2026-06-09T06:08:34.190Z","avatar_url":"https://github.com/hngprojects.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VulnWatch Frontend\n\nNext.js 16 + React 19 + Tailwind v4 UI for the VulnWatch product. Includes the marketing site, auth flows, and contact/FAQ pages.\n\n## Stack\n\n- **Next.js 16** App Router\n- **React 19**, **TypeScript** (strict)\n- **Tailwind v4**\n- **Radix UI** (accordion/slot) + **shadcn-style** components\n- **React Hook Form** + **Zod**\n- **Sonner** for toasts\n- **NextAuth** + **Google OAuth** provider wrapper\n\n## Getting started\n\n```bash\npnpm install\npnpm dev\n```\n\nOpen \u003chttp://localhost:3000\u003e.\n\n## Scripts\n\n| Command          | What it does             |\n| ---------------- | ------------------------ |\n| `pnpm dev`       | Dev server               |\n| `pnpm build`     | Production build         |\n| `pnpm start`     | Run the production build |\n| `pnpm lint`      | ESLint                   |\n| `pnpm typecheck` | `tsc --noEmit`           |\n| `pnpm exec prettier --check .` | Prettier check |\n| `pnpm exec prettier --write .` | Prettier write |\n\n## Environment variables\n\nCreate a `.env.local` with values similar to:\n\n```bash\nNEXT_PUBLIC_API_URL=https://api.staging.vuln-watch.hng14.com\nNEXT_PUBLIC_GOOGLE_CLIENT_ID=your_google_client_id\nBASE_URL=https://base_url/api\nAUTH_SECRET=your_auth_secret\nNEXTAUTH_URL=http://localhost:3000\nNEXTAUTH_SECRET=your_nextauth_secret\n```\n\nNotes:\n\n- `NEXT_PUBLIC_GOOGLE_CLIENT_ID` is required for the Google OAuth button.\n- `NEXTAUTH_URL` and `NEXTAUTH_SECRET` are required if you enable NextAuth session handling.\n\n## Routes\n\n| Route | Purpose |\n| --- | --- |\n| `/` | Landing page |\n| `/about-us` | About page |\n| `/contact` | Contact page |\n| `/faqs` | FAQs page |\n| `/login` | Login page |\n| `/register` | Register page |\n| `/forgot-password` | Forgot password page |\n| `/api/health` | Health check |\n\n## Project layout\n\n```\nsrc/\n├── app/                # App Router routes \u0026 file conventions\n├── components/ui/      # Shared UI components\n├── features/           # Feature-level components and pages\n├── lib/                # Utilities\n├── actions/            # Client actions\n├── schemas/            # Shared Zod schemas\n└── types/              # Shared TypeScript types\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhngprojects%2Fvulnwatch-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhngprojects%2Fvulnwatch-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhngprojects%2Fvulnwatch-frontend/lists"}