Skip to content

102imdoc/infinite-doc

Repository files navigation

Infinite Doc Monorepo

Um monorepo moderno para gestão de documentos com inteligência artificial.

📁 Estrutura do Projeto

infinite-doc-monorepo/
├── apps/
│   └── web/                    # Aplicação Next.js 16 (App Router)
│       ├── src/
│       │   ├── app/            # Rotas do App Router
│       │   │   ├── page.tsx           # Landing page (/)
│       │   │   ├── pricing/           # Página de preços
│       │   │   ├── dashboard/         # Dashboard (protegido)
│       │   │   ├── portal/            # Portal do cliente (protegido)
│       │   │   └── chat/[token]/      # Chat com token dinâmico
│       │   ├── components/
│       │   │   ├── ui/         # Componentes shadcn/ui
│       │   │   ├── layout/     # Header, Footer, Sidebar
│       │   │   └── common/     # Componentes reutilizáveis
│       │   ├── lib/            # Utilitários e configurações
│       │   ├── hooks/          # Custom hooks
│       │   └── types/          # TypeScript types
│       └── public/             # Assets estáticos
├── packages/                   # Pacotes compartilhados (futuro)
├── .env.example               # Variáveis de ambiente
├── .prettierrc                # Configuração do Prettier
└── package.json               # Root package.json (workspaces)

🚀 Tecnologias

  • Framework: Next.js 16 (App Router)
  • Linguagem: TypeScript (strict mode)
  • Estilização: Tailwind CSS v4
  • Componentes UI: shadcn/ui
  • Linting: ESLint 9
  • Formatação: Prettier

📋 Pré-requisitos

  • Node.js 18.17 ou superior
  • npm 9 ou superior

🔧 Instalação

  1. Clone o repositório:
git clone <repository-url>
cd infinite-doc-monorepo
  1. Copie o arquivo de variáveis de ambiente:
cp .env.example apps/web/.env.local
  1. Instale as dependências:
npm install

🏃 Rodando o Projeto

Desenvolvimento

# Da raiz do monorepo
npm run dev

# Ou diretamente na pasta do app
cd apps/web && npm run dev

O projeto estará disponível em http://localhost:3000

Produção

# Build
npm run build

# Start
npm run start

Linting e Formatação

# Lint
npm run lint

# Formatar código
npm run format

# Verificar formatação
npm run format:check

📄 Rotas Disponíveis

Rota Descrição Proteção
/ Landing page Pública
/pricing Página de preços Pública
/dashboard Dashboard administrativo Protegida
/portal Portal do cliente Protegida
/chat/[token] Interface de chat Pública (com token)

🎨 Componentes UI Base

O projeto inclui os seguintes componentes customizados:

  • Layout: Header, Footer, AppSidebar, DashboardHeader
  • Common: StatsCard, DataTable, PricingCard, FeatureCard
  • shadcn/ui: Button, Card, Table, Sidebar, Sheet, Badge, Avatar, etc.

🔐 Autenticação

O projeto inclui um sistema de autenticação mock em src/lib/auth.ts. Para produção, substitua por uma implementação real usando:

📝 Variáveis de Ambiente

Veja .env.example para a lista completa de variáveis disponíveis:

NEXT_PUBLIC_APP_NAME=Infinite Doc
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-secret
DATABASE_URL=postgresql://...

🤝 Fluxo de Desenvolvimento & CI/CD

Este projeto utiliza GitHub Actions para garantir a qualidade do código e a estabilidade da Clínica Autônoma.

Integração Contínua (CI)

O workflow de CI (ci.yml) é executado automaticamente em cada Push ou Pull Request para a branch main. Ele realiza as seguintes etapas:

  1. Linting & Formatting: Verifica se o código segue os padrões do projeto (npm run lint e npm run format:check).
  2. Prisma Sync: Gera o cliente Prisma para garantir que as tipagens do banco de dados estão corretas.
  3. Build Validation: Compila as aplicações para detectar erros de build antecipadamente.

Workflow de Contribuição

  1. Crie uma branch para sua feature: git checkout -b feature/nova-feature
  2. Desenvolva e teste localmente (npm run dev).
  3. Verifique linting e formatação: npm run lint && npm run format.
  4. Faça commit das mudanças: git commit -m 'feat: adiciona nova feature'
  5. Push para a branch e abra um Pull Request.
  6. Aguarde o check do GitHub Actions passar antes de realizar o merge.

📄 Licença

MIT © 2024 Infinite Doc

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages