TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗App web de rotina, estudos, treino e foco, organizado em módulos criados pelo usuário. Next.js 16 (App Router) + TypeScript + Tailwind CSS v4. Cloud-first: sem modo offline.
npm install
npm run dev
Abra http://localhost:3000. Sem sessão, o app abre a tela de login (/login); depois de entrar, vai para /hoje.
/login com e-mail e senha; /primeiro-acesso e
/esqueci-senha enviam um link por e-mail que abre /definir-senha. O primeiro acesso só
envia o link para e-mails com compra.public.subscriptions, preenchida pelos avisos da Kiwify em /api/kiwify.
Sem assinatura valendo, o app mostra /assinatura (assinatura inativa).
Liberar alguém à mão: no painel do Supabase, insira em subscriptions uma linha com o
e-mail, plan = cortesia e status = ativa.public.entities, preso ao usuário. O navegador só fala com
/api/dados, que confere login e assinatura e roda as mesmas operações de lib/ops.ts.prisma_* que exigem a chave APP_DB_SECRET. O limite de tentativas
de login (5 a cada 10 min por e-mail e por endereço) fica no banco./termos, /privacidade, /reembolso (links discretos no rodapé).Variáveis de ambiente: veja .env.example. Os valores reais ficam só na Vercel e no
.env.local, que nunca vai para o GitHub (.gitignore).
NEXT_PUBLIC_DATA_SOURCE=mock usa dados de exemplo no navegador, só para testes.
| Rota | O que faz |
|---|---|
/hoje | Saudação, resumo rápido, hábitos de hoje (um toque marca), bloco "A seguir", blocos das tarefas de hoje e blocos menores dos próximos dias. No primeiro acesso, um cartão explica como o app funciona |
/habitos | Criar hábito em dois toques (nome ou sugestão + dias), marcar hoje, semana de segunda a domingo, sequência, vínculo opcional a um módulo |
/tarefas | Todas as tarefas (com ou sem módulo) em Atrasadas, Hoje, Amanhã, Próximos dias e Sem data; filtro por módulo ou "Sem módulo", abertas ou concluídas; editar e excluir em cada linha |
/semana | Colunas de segunda a domingo, carga de horas por dia, arrastar tarefas entre os dias, bandejas "Atrasadas" e "Sem data" |
/matriz | Matriz de Eisenhower 2x2 com arrastar entre quadrantes e filtro por contexto |
/foco | Timer (25/50/90 ou livre), pausa automática, sons ambientes gerados no navegador, captura de interrupções e ideias |
/treino | Treino do dia (segunda a domingo, hoje destacado), carga e repetições com o recorde anterior em cinza, cardio, finalização, cronômetro que abre a playlist, divisão semanal arrastável e exercícios |
/relatorios | Nível e XP, revisão da semana com "Quebrar em passos", mapa de consistência do ano e picos de energia |
/caixa-de-entrada | Ideias e interrupções; "Virar tarefa" ou descartar |
/modulos | Lista de módulos e criação a partir de modelo (Em branco, Estudos, Projeto de código, Treino) |
/modulos/[id] | Tarefas (criadas e editadas na mesma janela, com editar e excluir à mostra), hábitos vinculados, anotações e metas |
Em qualquer tela: Ctrl/⌘ + K abre a paleta (criar tarefa com #tag @módulo 14:00 45min; sem @módulo a tarefa fica sem módulo;
ideia: … para a caixa de entrada, navegar, iniciar foco, trocar o tema). Clicar em qualquer
tarefa abre o editor completo (data, horário, duração, prioridade, tags, repetição, dependência,
passos e notas).
Aviso automático: revisão da semana (sexta a partir das 17h e fim de semana).
src/
├─ app/ rotas (App Router); cada page.tsx só monta o componente da função
├─ components/
│ ├─ ui/ Button, Modal, Field/Input/Select/Chip, Tabs, Page, TaskCheck…
│ └─ layout/ AppShell, Sidebar, Topbar (com mini timer), MobileNav (+ "Mais"),
│ CommandPalette, GlobalDialogs, Toaster, WorkspaceGate
├─ features/
│ ├─ today/ tela inicial
│ ├─ tasks/ cards, editor, recorrência, matriz, criação rápida
│ ├─ habits/ hábitos: criação rápida, semana seg-dom, vínculo a módulo, boas-vindas
│ ├─ training/ aba Treino (plano único do usuário)
│ ├─ week/ matrix/ focus/ inbox/ reports/ modules/ gamification/
├─ lib/
│ ├─ ops.ts operações de domínio puras (mesmo código no cliente e no servidor)
│ ├─ api/ contrato PrismaApi, cliente da nuvem e modo de demonstração
│ ├─ server/ Supabase, sessão, Kiwify (só no servidor)
│ ├─ store/app-store.ts estado global: atualização otimista, fila de escritas, desfazer, timer
│ ├─ audio/ambient.ts ruído branco, marrom, chuva e lo-fi via Web Audio API
│ ├─ selectors.ts dates.ts hooks/
├─ types/domain.ts modelo de domínio
└─ proxy.ts protege as rotas sem sessão
supabase/migrations/ banco: dados, assinaturas, tentativas de login e funções
toggleTask, moveTask, logExercise…) roda a operação de lib/ops.ts e a tela muda na hora.No servidor, src/app/api/dados carrega os dados do Supabase, roda a operação e grava só o que mudou.
| Token | Claro | Escuro | Uso |
|---|---|---|---|
canvas | #F8F8F8 | #141414 | fundo do app |
surface | #FFFFFF | #1B1B1B | cartões e painéis |
ink | #141414 | #ECECEC | texto principal |
primary | #2998FF | #2998FF | bloco "A seguir", ação principal, timer |
accent | #FFD648 | #FFD648 | XP, sequências, prioridade |
#141414 (branco sobre #2998FF fica em ~3:1, abaixo do mínimo de 4,5:1).