factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A high-performance web application for analyzing infrastructure assets against hazard layers. Upload spatial datasets (Shapefile, GeoPackage, or CSV) representing infrastructure and visualize their exposure to various hazard risks with interactive maps and statistics.README 전문 보기 ↗A high-performance web application for analyzing infrastructure assets against hazard layers. Upload spatial datasets (Shapefile, GeoPackage, or CSV) representing infrastructure and visualize their exposure to various hazard risks with interactive maps and statistics.
geopandas, xarray, rasterio, pyogrio, pandascd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
mkdir -p data
Create data/hazard_layers.csv with semicolon-delimited format:
hazard;dataset_url;description;background_paper
Flood Hazard 10 Years;https://example.com/flood.tif;Description;Paper URL
python main.py
# Or: uvicorn main:app --reload --host 0.0.0.0 --port 8000
The API will be available at http://localhost:8000
cd frontend
npm install
npm run dev
The application will be available at http://localhost:5173
Upload Infrastructure Data:
lat/lon, latitude/longitude, or y/x)Select Hazard Layer:
Customize Visualization:
View Results:
backend/
├── main.py # FastAPI application entry point
├── app/
│ ├── config.py # Configuration & paths
│ ├── api/
│ │ ├── upload.py # File upload endpoints
│ │ ├── hazards.py # Hazard layer endpoints
│ │ ├── analyze.py # Analysis endpoints
│ │ └── tiles.py # Tile serving endpoints
│ └── utils/
│ └── geospatial.py # Geospatial utilities
├── requirements.txt # Dependencies
└── README.md # Backend setup instructions
frontend/
├── index.html # HTML entry point
├── package.json # NPM dependencies & scripts
├── vite.config.ts # Vite configuration
├── tsconfig.json # TypeScript configuration
├── tailwind.config.js # TailwindCSS configuration
├── postcss.config.js # PostCSS configuration
├── README.md # Frontend setup instructions
└── src/
├── main.tsx # React entry point
├── App.tsx # Main app component
├── index.css # Global styles
├── vite-env.d.ts # Vite type definitions
├── components/
│ ├── ui/ # Reusable UI components
│ │ ├── button.tsx
│ │ ├── input.tsx
│ │ ├── select.tsx
│ │ ├── slider.tsx
│ │ ├── card.tsx
│ │ └── dialog.tsx
│ ├── Sidebar.tsx # Collapsible sidebar with controls
│ ├── MapView.tsx # Map component with basemap selector
│ └── BarChart.tsx # Chart component (Recharts)
├── types/
│ └── index.ts # TypeScript type definitions
├── services/
│ └── api.ts # API service functions
└── lib/
└── utils.ts # Utility functions
POST /api/upload - Upload spatial file (Shapefile, GeoPackage, or CSV)GET /api/hazards - List available hazard layersGET /api/hazards/{hazard_id} - Get hazard layer detailsGET /api/hazards/{hazard_id}/stats - Get hazard statistics (min, max, mean)POST /api/analyze - Perform spatial intersection analysisGET /api/tiles/{hazard_id}/{z}/{x}/{y}.png - Get hazard layer tilesFor detailed API documentation, visit http://localhost:8000/docs when the backend is running.
HOST: Server host (default: 0.0.0.0)PORT: Server port (default: 8000)DEBUG: Debug mode (default: False)Hazard Layers CSV (data/hazard_layers.csv):
;)hazard, dataset_urldescription, background_paperInfrastructure Upload Formats:
.shp, .shx, .dbf (and optionally .prj).gpkg fileRun with auto-reload:
uvicorn main:app --reload --host 0.0.0.0 --port 8000
The Vite dev server includes hot module replacement (HMR) for instant updates.
Frontend:
cd frontend
npm run build
Backend:
uvicorn main:app --host 0.0.0.0 --port 8000 --workers 1
Note: Use
--workers 1as the application uses in-memory state for uploaded files and analysis caching. Multi-worker deployment would require Redis or similar for shared state.
GPL-3