diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..b51dd6e --- /dev/null +++ b/README.md @@ -0,0 +1,76 @@ +# 🛠️ Helpdesk TI — Sistema Interno de Chamados + +Sistema interno de gerenciamento de chamados de TI, desenvolvido para rodar em infraestrutura prĂłpria (on-premise). + +## Stack TecnolĂłgica + +| Camada | Tecnologia | +|------------|-------------------------------------| +| Backend | Node.js 20 + Fastify | +| ORM | Drizzle ORM | +| Banco | SQLite (via better-sqlite3) | +| Frontend | React 18 + TypeScript + Vite | +| Ambiente | Nix Flakes (reprodutĂvel) | +| Monorepo | pnpm Workspaces | +| VCS | Git (espelhado via Gitolite/cgit) | + +## PrĂ©-requisitos + +- [Nix](https://nixos.org/download) com suporte a Flakes habilitado +- Git + +## Setup do Ambiente + +```bash +# 1. Clone o repositĂłrio +git clone git@git.devlucas.me:helpdesk.git +cd helpdesk + +# 2. Entre no shell de desenvolvimento (instala todas as dependĂŞncias automaticamente) +nix develop + +# 3. Instale as dependĂŞncias Node de todos os workspaces +pnpm install + +# 4. Rode as migrações do banco de dados +pnpm db:migrate + +# 5. Inicie o ambiente de desenvolvimento (api + web em paralelo) +pnpm dev +``` + +## Scripts DisponĂveis + +| Comando | Descrição | +|-------------------|------------------------------------------------| +| `pnpm dev` | Inicia api (porta 3000) e web (porta 5173) | +| `pnpm dev:api` | Inicia apenas o servidor Fastify | +| `pnpm dev:web` | Inicia apenas o frontend Vite | +| `pnpm build` | Build de produção de ambos os pacotes | +| `pnpm db:migrate` | Executa migrações pendentes do Drizzle | +| `pnpm db:studio` | Abre o Drizzle Studio (GUI do banco) | + +## Estrutura do RepositĂłrio + +``` +helpdesk/ +├── flake.nix # Ambiente Nix reprodutĂvel +├── pnpm-workspace.yaml # Configuração dos workspaces +├── package.json # Scripts raiz do monorepo +├── api/ # Backend Fastify + Drizzle + SQLite +│ ├── src/ +│ │ ├── db/ # Schema, migrações e conexĂŁo +│ │ ├── modules/ # MĂłdulos de tickets, usuários, comentários +│ │ └── server.ts # Entry point do Fastify +│ └── package.json +└── web/ # Frontend React + TypeScript + Vite + ├── src/ + │ ├── components/ # Componentes reutilizáveis + │ ├── pages/ # Páginas (solicitante, agente) + │ └── main.tsx # Entry point do React + └── package.json +``` + +## Configuração de VCS (Gitolite) + +Ver seção de configuração do Gitolite no guia de infraestrutura. |