ai-startup-skills
AI 제품을 만드는 스타트업을 위한 7단계 에이전트 스킬: 검증 → 비즈플랜 → 정책 → 로드쇼 → 고객 확보 → 가격 책정 → 등록
FarmRisk는 인도 농가에 IMD 관측값으로 보정된 15일 날씨 예보를 제공합니다
FarmRisk gives Indian farmers a 15-day weather forecast bias-corrected against IMD observations, root-zone soil moisture from a calibrated water-balance model, and crop risk advisories for their locat
기타TypeScript · HTMLGitHub @farmrisk-in온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기FarmRisk gives Indian farmers a 15-day weather forecast bias-corrected against IMD observations, root-zone soil moisture from a calibrated water-balance model, and crop risk advisories for their location, in five languages.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Welcome to the FarmRisk frontend repository. This project is a Next.js application designed to provide high-resolution remote sensing, satellite field mapping, and localized climate data backed by predictive AI insights.
This README serves as a guide for team members to understand the architecture, routing mechanics, and code organization.
We use a standard, single Next.js repository to keep our landing page, dashboard console, components, and API routes completely unified.
Below is a breakdown of our current directory tree:
├── app/ # Next.js App Router (Routing & Pages)
│ ├── api/ # Secure serverless API routes
│ │ ├── ai/ # Secure proxy endpoints for LLM insights & chat
│ │ └── weather/ # Secure proxy endpoints for weather API data
│ ├── constants/ # Centralized copy, titles, and layout configurations
│ │ └── content.ts # Dynamic content JSON arrays (Sidebar navigation, headers)
│ ├── dashboard/ # The main, authenticated application console
│ │ ├── layout.tsx # Persistent shell containing the global Sidebar + Top Nav
│ │ ├── page.tsx # Overview sub-page (at /dashboard)
│ │ ├── map/ # Satellite map sub-page (at /dashboard/map)
│ │ ├── profile/ # User profile settings (at /dashboard/profile)
│ │ ├── settings/ # Extended console settings
│ │ └── weather/ # Weather analytics tab
│ ├── globals.css # Global Tailwind CSS configurations
│ ├── layout.tsx # Global HTML root layout wrapper
│ └── page.tsx # Root public-facing Landing Page
├── components/ # Reusable React components
│ ├── app-sidebar.tsx # Our main sidebar wrapper (dynamically built via JSON config)
│ └── ui/ # Low-level shadcn/ui structural primitives
├── hooks/ # Custom global React hooks
├── lib/ # Helper frameworks and utilities (e.g., clsx styling helpers)
└── types/ # Global TypeScript definitions and type guards
Everything inside the app/ directory automatically maps to a URL route.
app/page.tsx (the root /).app/dashboard/. Sub-folders like map/ or profile/ instantly resolve to /dashboard/map and /dashboard/profilelayout.tsxWe utilize Next.js layouts to prevent expensive, jarring UI re-renders:
app/dashboard/layout.tsx serves as the permanent frame for our internal tools.<AppSidebar /> component.{children} prop.To ensure long-term maintainability and prevent copy text or routes from cluttering up layout styles, all content is strictly data-driven.
app/constants/content.tsThis file holds our global string constants (titles, descriptions) as well as the layout configurations for our navigation links.
Instead of hardcoding layout links inside the TSX files, components/app-sidebar.tsx imports configuration JSON arrays directly from content.ts. It iterates over them dynamically using a .map() loop, passing corresponding key routes and matching icon names.
content.ts. You do not need to rewrite any layout markup.app/globals.css). shadcn/ui components (stored locally inside components/ui/ so we can customize them fully).bun.lock).If you are adding a feature:
app/dashboard/<feature-name>/page.tsx folder.app/constants/content.ts to reveal it automatically on the UI console