AI-powered business proposal analysis tool for the web
BizLenz는 과학기술정보통신부 대학디지털교육역량강화사업의 지원을 통해 수행한 한이음 드림업 프로젝트 결과물입니다.
Frontend for BizLenz.
| Category | Technology |
|---|---|
| Framework | Next.js 15 (App Router) |
| UI Library | React 19 |
| Auth | Better Auth + Google OAuth |
| State | Zustand |
| Components | shadcn/ui (New York) |
| Styling | Tailwind CSS v4 |
| Runtime / PM | Bun |
| Database | PostgreSQL |
| Validation | Zod |
www/
├── .github/workflows/ # CI pipeline (lint, format, test, build)
├── docs/ # Project documentation
├── public/ # Static assets
├── src/
│ ├── app/ # Next.js App Router pages & API routes
│ │ ├── (app)/ # Protected app routes (dashboard, files, results)
│ │ ├── (auth)/ # Auth routes (login)
│ │ └── api/ # API routes (auth, backend-token)
│ ├── components/
│ │ ├── ui/ # shadcn/ui primitives
│ │ ├── common/ # Shared components (breadcrumb, error boundary)
│ │ ├── sidebar/ # App sidebar navigation
│ │ ├── analysis/ # Analysis workflow components
│ │ ├── dashboard/ # Dashboard-specific components
│ │ ├── files/ # File management components
│ │ └── report/ # Report & chart components
│ ├── config/ # API endpoint configuration
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utilities, auth, API client
│ ├── store/ # Zustand stores
│ ├── styles/ # Global CSS (Tailwind)
│ └── types/ # TypeScript type definitions
├── flake.nix # Nix devshell
├── next.config.js # Next.js configuration
├── package.json
└── tsconfig.json
All environment variables are validated at startup via
src/env.js using @t3-oss/env-nextjs and Zod. Create a
.env.local file at the project root:
| Variable | Required | Description |
|---|---|---|
BETTER_AUTH_SECRET |
Yes | Secret key for Better Auth sessions |
BETTER_AUTH_URL |
Yes | Base URL of the app (e.g. http://localhost:3000) |
DATABASE_URL |
Yes | PostgreSQL connection string |
GOOGLE_CLIENT_ID |
Yes | Google OAuth client ID |
GOOGLE_CLIENT_SECRET |
Yes | Google OAuth client secret |
NEXT_PUBLIC_API_BASE_URL |
Yes | FastAPI backend base URL |
FASTAPI_JWT_SECRET |
No | Shared secret for backend JWT tokens |
NODE_ENV |
No | development / test / production (default: development) |
See docs/ONBOARDING.md for detailed setup instructions.
bun is expected to run this app. See here
for installation.
bun dev # Run the app in development mode
bun start # Run the app in production mode
bun run build # Build the app
bun test # Run tests
bun run lint # Lint with ESLint
flake.nixis provided for Nix users. Usenix developto enter the development shell.
The frontend was developed using the Next.js framework as it enables server‑side rendering, optimized performance, and efficient integration of dynamic AI‑driven content.
It heavily utilizes the shadcn/ui component library, allowing rapid interface development and maintaining consistent design efficiency even with a single developer on the FE side.
- Onboarding Guide — getting started for new developers
- Architecture — technical deep-dive into the codebase