DataSentry is a privacy-conscious dataset quality workspace. It profiles CSV and XLSX files, calculates an explainable quality score, surfaces high-priority risks, and exports a reusable JSON report without persisting uploaded data.
- Upload a UTF-8/CP949 CSV or XLSX workbook up to 10 MB and 100,000 rows.
- Review completeness, uniqueness, validity, and consistency scores.
- Inspect missing values, duplicates, mixed formats, outliers, and likely PII.
- Explore column profiles and a sanitized eight-row preview.
- Export the complete report as JSON.
- Reopen recent reports and review source metadata from browser-only history.
- Switch the complete workspace between English and Korean; the browser remembers the selected language.
Browser (Next.js) -> multipart CSV -> FastAPI
|-> Pandas profiling
|-> DuckDB duplicate checks
`-> JSON quality report
Uploads are held in memory only for the duration of the request. The MVP does not use a database, object storage, cookies, or third-party AI APIs. Recent report history excludes row previews and sample values and remains only in the current browser's local storage.
Backend:
cd backend
python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
uvicorn app.main:app --reloadFrontend:
cd frontend
npm install
npm run devOpen http://localhost:3000. The API runs at http://localhost:8000.
cd backend && .venv/bin/python -m pytest -q
cd frontend && npm run lint && npm run build- Deploy
frontend/to Vercel and setNEXT_PUBLIC_API_URLto the Render URL. - Deploy the repository using
render.yamland setCORS_ORIGINSto the Vercel origin.