aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md76
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.