TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Liam-Moriarty/Ajaia.ai
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A lightweight, Google Docs-inspired document editor built for Ajaia's Full Stack Product Engineer take-home assessment. Users sign up, create and format rich-text documents, import .txt/.md/.docx files as new documents, and share documents with other users by email.
See docs/PDD.md (product design) and docs/TDD.md (technical design) for the full design rationale, and docs/architecture-note.md / docs/ai-workflow-note.md for the condensed writeups required by the assessment.README 전문 보기 ↗A lightweight, Google Docs-inspired document editor built for Ajaia's Full Stack Product Engineer take-home assessment. Users sign up, create and format rich-text documents, import .txt/.md/.docx files as new documents, and share documents with other users by email.
See docs/PDD.md (product design) and docs/TDD.md (technical design) for the full design rationale, and docs/architecture-note.md / docs/ai-workflow-note.md for the condensed writeups required by the assessment.
https://ajaia-ai-web.vercel.app/
No test account is required — sign-up works with any email/password (see "Local setup" below for disabling email confirmation), or a reviewer can create two accounts to exercise the sharing flow.
apps/web), Tiptap for rich text, React Router for navigation.apps/web).Prerequisites: Node 18+, pnpm 8 (corepack enable will pick up the pinned version).
pnpm install
Create apps/web/.env (see apps/web/.env.example) with your Supabase project's credentials:
VITE_SUPABASE_URL=https://<your-project>.supabase.co
VITE_SUPABASE_ANON_KEY=<your-anon-key>
The schema (profiles, documents, document_shares tables + RLS policies) lives in supabase/migrations/0001_init.sql. Apply it to your Supabase project via the SQL editor in the Supabase dashboard, or supabase db push if you have the CLI linked.
In the Supabase dashboard, under Authentication → Providers → Email, turn Confirm email off. Supabase's built-in email sender has a low rate limit (a few emails/hour), and sign-up will otherwise fail with "email rate limit exceeded" after a couple of test accounts. With confirmation off, signUp() logs the user in immediately with no email sent.
Run the app:
pnpm --filter web dev
pnpm --filter web test # unit tests (Vitest)
pnpm --filter web typecheck
pnpm --filter web lint
The automated tests cover apps/web/src/lib/parseImport.ts — the .txt/.md → Tiptap-JSON conversion, which is the highest-risk hand-written logic in the app (DOCX extraction delegates to mammoth and isn't separately unit tested) — plus apps/web/src/lib/formatUpdatedAt.ts's relative-timestamp formatting.
Only .txt, .md, and .docx files can be imported as new documents (.docx via mammoth, parsed client-side). Any other file type (e.g. .doc, .pdf, .rtf, .odt, images) is rejected before upload with an explicit error message, both in the file picker's accept filter and in a validation check on the selected file. The original uploaded file is not retained — only its parsed content is saved as a new document.
apps/web/src/lib/parseImport.ts), with a matching pre-check in the UI (apps/web/src/pages/DocumentListPage.tsx) that surfaces a specific error message before any upload happens. Parsing failures (corrupt/unreadable files) are caught and shown as a user-facing error rather than failing silently.required fields and a minimum password length; Supabase auth errors (e.g. wrong password, existing account) are caught and rendered inline on the form.Share a document with another registered user by entering their email in the editor's "Share" dialog. Shared documents appear under "Shared with me" on the document list, visibly distinct from "My documents". There are no permission tiers — anyone a document is shared with can view and edit it.
Real-time multi-cursor collaboration, view-only vs. edit permission tiers, comments/suggestion mode, version history, and PDF export are all explicitly deprioritized — see docs/TDD.md for the full list and reasoning.