Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證O jeito fácil de gerenciar sua assistência técnica
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Fixr - O jeito fácil de gerenciar sua assistência técnica O Fixr é uma aplicação web desenvolvida para o gerenciamento de ordens de serviço em assistências técnicas. O projeto tem como objetivo otimizar processos internos, centralizar informações e facilitar o acompanhamento de serviços, oferecendo uma solução completa para empresas do setor.檢視完整 README ↗
O Fixr é uma aplicação web desenvolvida para o gerenciamento de ordens de serviço em assistências técnicas. O projeto tem como objetivo otimizar processos internos, centralizar informações e facilitar o acompanhamento de serviços, oferecendo uma solução completa para empresas do setor.
A aplicação foi idealizada a partir de entrevistas com profissionais da área de eletroeletrônicos, realizadas com o propósito de compreender as principais dificuldades enfrentadas por empresas de pequeno e médio porte. A partir dessas entrevistas, foram definidos os requisitos funcionais e não funcionais do sistema, elaborados os modelos de banco de dados (conceitual, lógico e físico) e desenvolvido um protótipo de interface utilizando a ferramenta Figma.
O Fixr foi desenvolvido como parte da disciplina de Projeto Integrador do curso de Ciência da Computação da Faculdade das Américas (FAM), aplicando tecnologias modernas e práticas consolidadas de desenvolvimento web para garantir segurança, desempenho e escalabilidade.
[!NOTE]
Acesse o projeto agora mesmo: https://fixr.com.br
O gerenciamento de ordens de serviço em assistências técnicas enfrenta diversos desafios, especialmente em empresas de pequeno e médio porte que ainda utilizam processos manuais. Entre os problemas mais comuns estão a perda de formulários, atrasos no atendimento, dificuldade de acompanhamento do status de reparos e controle ineficiente de estoque.
O Fixr foi desenvolvido para superar essas limitações, oferecendo uma plataforma centralizada que integra o gerenciamento de ordens de serviço, controle de estoque e geração de orçamentos. O sistema permite que técnicos e clientes acompanhem o progresso das ordens em tempo real, além de automatizar o registro de peças utilizadas e pedidos de compra junto a fornecedores, promovendo maior eficiência operacional.
Além disso, o Fixr implementa um modelo de permissões de acesso que organiza os usuários em diferentes níveis funcionais, garantindo segurança e flexibilidade no uso da plataforma pelos setores de atendimento, laboratório e administração.
O Fixr adota uma arquitetura moderna, organizada em um monorepo que centraliza frontend, backend e pacotes compartilhados, permitindo reuso de código, consistência entre aplicações e automação de tarefas. O projeto utiliza Bun como runtime e gerenciador de pacotes, oferecendo maior performance e compatibilidade com o ecossistema JavaScript/TypeScript.
A estrutura principal do repositório é:
apps/
├─ web/ → Aplicação principal para clientes e técnicos (Next.js)
├─ admin/ → Painel administrativo interno para gerentes e administradores (Next.js)
└─ server/ → API REST em Fastify, responsável por toda a lógica de negócios e integração com o banco de dados
packages/
├─ db/ → Schemas, migrações e conexão com o banco de dados (Drizzle ORM + MySQL)
├─ schemas/ → Schemas Zod compartilhados entre frontend e backend para validação consistente
├─ constants/ → Constantes e enums do sistema
├─ env/ → Configuração centralizada de variáveis de ambiente com validação via Zod
├─ infra/ → Implementação da infraestrutura de deploy
├─ mail/ → Templates de email em React e configuração da fila de processamento com BullMQ
└─ typescript-config/ → Configurações TypeScript compartilhadas entre os projetos
O servidor é construído com Fastify, garantindo alta performance e baixo overhead em requisições HTTP. A comunicação com o banco de dados é feita através do Drizzle ORM, enquanto Redis é utilizado para cache e armazenamento temporário de jobs. Operações pesadas, como envio de emails ou importação de grandes volumes de funcionários, são processadas de forma assíncrona com BullMQ, garantindo respostas rápidas no frontend.
A autenticação é realizada via JWT, com suporte a refresh tokens, garantindo segurança e controle de acesso baseado em permissões definidas por cargo.
O frontend é desenvolvido em Next.js, oferecendo renderização híbrida (SSR, ISR) para melhor desempenho e experiência do usuário. Ele consome a API REST, exibindo informações em interfaces intuitivas e responsivas, compatíveis com dispositivos móveis.
Toda a aplicação é conteinerizada com Docker, facilitando deploy e escalabilidade. A API é documentada com OpenAPI, permitindo integração e testes automatizados, utilizando Swagger e Scalar UI para visualização interativa.
Gerenciamento de Ordens de Serviço (OS) Permite criar, atualizar e acompanhar ordens de serviço com registro completo de histórico, controle de status (aberta, em andamento, concluída ou cancelada) e informações detalhadas sobre clientes, serviços e produtos utilizados.
Criação de Orçamentos e Controle de Peças Gera orçamentos automaticamente com base nas peças e serviços vinculados a cada OS, garantindo precisão nos custos e verificando a disponibilidade em estoque antes da aprovação.
Gestão de Estoque e Fornecedores Controla entradas, saídas e níveis de estoque de produtos, permitindo a criação automática de pedidos de compra quando peças estão em falta, otimizando a reposição e evitando interrupções nos serviços.
Controle de Acesso e Permissões Implementa papéis e permissões detalhados (administrador, gerente, técnico, financeiro, estoquista), garantindo que cada usuário tenha acesso apenas às funções relevantes à sua função, aumentando a segurança e a organização do fluxo interno.
Acompanhamento em Tempo Real Técnicos e clientes podem acompanhar o progresso das OS em tempo real, visualizando atualizações automáticas de status e informações relevantes, reduzindo falhas de comunicação e agilizando o atendimento.
Notificações Automáticas Envia emails automáticos para atualização de status, aprovações de orçamentos e confirmações de cadastro, mantendo clientes e colaboradores sempre informados sem a necessidade de contato manual.
O Fixr foi desenvolvido utilizando tecnologias modernas e consolidadas, que garantem desempenho, escalabilidade e segurança em todas as camadas da aplicação.
O repositório do Fixr segue uma organização em monorepo, separando claramente frontend, backend e pacotes compartilhados, facilitando o desenvolvimento, reuso de código e manutenção.
fixr/
├─ apps/
│ ├─ web/ # Aplicação principal para usuários e clientes (Next.js)
│ ├─ admin/ # Painel administrativo interno (Next.js)
│ └─ server/ # API REST construída com Fastify
│
├─ packages/
│ ├─ db/ # Schemas, conexões e migrações do banco de dados (Drizzle + MySQL)
│ ├─ schemas/ # Schemas Zod compartilhados entre frontend e backend
│ ├─ constants/ # Constantes globais e enums do sistema
│ ├─ env/ # Configuração centralizada de variáveis de ambiente
│ ├─ infra/ # Infraestrutura de deploy
│ ├─ mail/ # Templates de e-mail em React e fila de envio (BullMQ)
│ └─ typescript-config/ # Configurações TypeScript compartilhadas
│
├─ .husky/ # Git hooks para pré-commit (formatação e type-checking)
└─ package.json # Configuração do monorepo com Bun workspaces
Essa estrutura permite:
A API do Fixr é totalmente documentada seguindo o padrão OpenAPI 3.0, garantindo clareza, consistência e facilidade de integração com outras aplicações.
Os principais pontos de acesso à documentação são:
/docs – Interface interativa para exploração e testes da API./reference – Referência completa com detalhes de endpoints, parâmetros e respostas.A documentação é projetada para facilitar futuras integrações com ERPs e outros sistemas externos, permitindo que usuários com perfil de gerente possam gerar API tokens diretamente pelo painel administrativo, garantindo segurança e controle de acesso granular.
Para rodar o Fixr localmente, você precisará ter instalados em sua máquina:
git clone https://github.com/fixrfam/fixr
cd fixr
bun install
bun run setup
O setup faz tudo o que antes era manual:
.env na raiz a partir do .env.example, gerando JWT_SECRET, API_KEY_SECRET e COOKIE_ENCRYPTION_SECRET (se você ainda tiver os .env antigos por pasta, os valores deles são reaproveitados);Use bun run setup --reset para apagar os dados e popular de novo, ou --no-seed para pular o seed.
bun run dev
.env):bun run dev:admin
Os serviços estarão disponíveis em:
http://localhost:3333http://localhost:3000http://localhost:6969 (requer bun run dev:admin)http://localhost:3333/docsbun run db:studio para acessarEm desenvolvimento existe um único .env na raiz, lido por todos os apps e pacotes. O .env.example é a referência: ele agrupa as variáveis por serviço e já traz valores que funcionam localmente (senhas docker/fixr, chaves de teste do Cloudflare Turnstile e placeholders para Google OAuth e Cloudflare R2). Para usar esses serviços de verdade, ou o painel admin (Clerk), troque os placeholders pelas chaves geradas nos respectivos painéis.
Em produção nada muda: o deploy (GitHub Actions + Alchemy e Coolify) injeta as variáveis diretamente, sem arquivo .env.
Nota: As variáveis são validadas automaticamente pelo pacote
@fixr/envusando Zod, garantindo que todas as configurações necessárias estejam presentes antes da inicialização dos apps.
O seed (packages/db/src/seed) cria duas empresas (alfa e beta), um usuário para cada cargo na alfa, clientes, fabricantes e modelos de aparelhos e ordens de serviço em vários status. Todas as contas usam a senha Fixr!Dev123, por exemplo [email protected], [email protected] ou [email protected]. O setup imprime a lista completa.
# Desenvolvimento
bun run setup # Prepara .env, Docker, schema e dados de demonstração
bun run dev # Inicia server, web e workers em modo desenvolvimento
bun run dev:admin # Inicia o painel admin em modo desenvolvimento
bun run check-types # Executa verificação de tipos em todos os projetos
bun run test # Testes unitários de todos os projetos
bun run test:watch # Testes unitários em modo watch
# Build
bun run build # Build completo (pacotes + apps)
bun run build:packages # Build apenas dos pacotes
bun run build:apps # Build apenas dos apps
# Banco de Dados
bun run db:start # Inicia containers Docker (MySQL + Redis)
bun run db:stop # Para os containers
bun run db:migrate # Executa migrations
bun run db:generate # Gera migrations a partir dos schemas
bun run db:studio # Abre Drizzle Studio (GUI do banco)
bun run db:push # Push direto do schema (desenvolvimento)
bun run db:seed # Popula o banco com dados de demonstração (--reset apaga antes)
# Formatação e Lint
bun run format # Formata código com Ultracite
bun run lint # Executa linting
bun run lint:write # Corrige problemas de lint automaticamente
Os scripts locais (dev, build, test, lint, check-types) rodam via Turborepo: cada pacote ganha seu próprio painel no terminal e resultados sem mudanças vêm do cache. Os scripts com sufixo :ci continuam usando bun run --filter, então CI e deploy não dependem do Turborepo.
O projeto possui hooks automáticos que são executados antes de cada commit:
Para configurar os hooks após clonar o repositório:
bun install # Husky será configurado automaticamente
Ricardo Amorim da Silva ricardo.gg | GitHub | Email
Felipe Martinez de Melo GitHub
Sofia Nunes de Freitas GitHub
Matheus Costa Silva
O desenvolvimento do Fixr acompanha os trabalhos realizados nos semestres da disciplina de Projeto Integrador, publicados na revista da Faculdade das Américas (FAM):
O artigo referente ao 4º semestre** ainda será publicado e atualizado neste README assim que disponível.
Contribuições são bem-vindas! Veja o CONTRIBUTING.md para instruções de setup, convenções de branch/commit e o processo de pull request. Este projeto segue o Código de Conduta.
Este projeto está licenciado sob a Licença MIT.