Files
2026-09-01 09:22:30 -03:00

201 lines
4.2 KiB
Markdown
Executable File

# GPrompt - Sistema de Geração de Prompts
Sistema web desenvolvido em Laravel 13 para geração e gerenciamento de prompts de IA, com integração a múltiplos provedores de modelos de inteligência artificial.
## Características Principais
- **Geração de Prompts** com campos de Engenharia de Prompt
- **Integração Multi-Fornecedor**: OpenRouter, StepFun e llama.cpp (local)
- **Dashboard Administrativo** com tema SbAdmin 2
- **Sistema de Usuários** com papéis SuperAdmin e User
- **Aprovação de Usuários** pelo SuperAdmin
- **Tutorial Completo** de Engenharia de Prompt
- **Interface Moderna e Responsiva** em Português Brasil
- **100% Produção-Ready**
## Stack Tecnológico
| Componente | Tecnologia |
|------------|-----------|
| Framework | Laravel 13 |
| Linguagem | PHP 8.3 |
| Banco de Dados | MariaDB |
| Frontend | Bootstrap 5 + Blade |
| Dashboard | SbAdmin 2 (MIT) |
| Autenticação | Laravel Breeze |
| IA | Laravel Boost |
| Testes | PHPUnit + Playwright |
## Requisitos
- PHP 8.3+
- Composer 2.x
- Node.js 18+
- NPM
- MariaDB 10.x
- Docker (ambiente de produção)
## Instalação
### 1. Clone o repositório
```bash
git clone <repository-url>
cd gprompt
```
### 2. Instale dependências
```bash
composer install
npm install
```
### 3. Configure o ambiente
```bash
cp .env.example .env
php artisan key:generate
```
Edite o arquivo `.env` com as credenciais do banco de dados:
```env
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=dockergprompt
DB_USERNAME=admin
DB_PASSWORD=admin123
```
Adicione as chaves de API no `.env`:
```env
OPENROUTER_API_KEY=your_key_here
STEPFUN_API_KEY=your_key_here
LLAMACPP_BASE_URL=http://localhost:8080
```
### 4. Execute migrations e seeders
```bash
php artisan migrate --seed
```
### 5. Compile assets
```bash
npm run build
```
### 6. Inicie o servidor
```bash
php artisan serve
```
Acesse: `http://localhost:16820`
## Credenciais de Acesso
### SuperAdmin
- Email: `superadmin@sistema.com`
- Senha: `superadmin123`
### Usuário de Teste
- Email: `user@sistema.com`
- Senha: `user123`
## Estrutura do Projeto
```
app/
├── Http/
│ ├── Controllers/
│ │ ├── Auth/
│ │ ├── Dashboard/
│ │ ├── PromptProject/
│ │ └── AiProvider/
│ ├── Requests/
│ └── Middleware/
├── Models/
├── Services/
│ └── Ai/
├── Policies/
└── Providers/
database/
├── migrations/
├── seeders/
└── factories/
resources/
├── views/
│ ├── layouts/
│ ├── dashboard/
│ ├── auth/
│ └── prompts/
└── css/
└── js/
```
## Funcionalidades
### Para SuperAdmin
- Gerenciar usuários (aprovar/rejeitar registros)
- Configurar provedores de IA
- Gerenciar modelos disponíveis
- Visualizar todas as gerações
- Acesso total ao sistema
### Para Usuários
- Criar projetos de prompts
- Gerar prompts com IA
- Visualizar histórico de gerações
- Acessar tutorial de Engenharia de Prompt
- Gerenciar próprios projetos
## Provedores de IA Suportados
### OpenRouter
- Modelos: inclusionai/ling-3.0-flash:free, openrouter/free, deepseek/deepseek-v4-flash
- Configuração: `OPENROUTER_API_KEY`
### StepFun
- Modelos: step-3.5-flash, step-3.7-flash
- Configuração: `STEPFUN_API_KEY`
### Llama.cpp (Local)
- Modelos: Qwen3-8B, Llama-3.2-3B, ibm-granite, qwen2.5-coder, LiquidAI_LFM2.5
- Configuração: `LLAMACPP_BASE_URL`
## Segurança
- Autenticação com Laravel Breeze
- Autorização baseada em papéis (RBAC)
- Proteção CSRF em todos os formulários
- Validação rigorosa de entrada
- Sanitização de saída (XSS protection)
- Proteção contra SQL Injection (Eloquent)
- Mass Assignment protection
- Rate limiting em formulários públicos
- Captcha nativo em formulários públicos
## Documentação
- `RULES.md` - Regras para implementação com IA (inglês)
- `LICENCE` - Licença de uso proprietária
- `docs/` - Documentação técnica do sistema
## Testes
```bash
# Testes unitários e de feature
php artisan test
# Testes E2E com Playwright
npm run test:e2e
```
## Suporte
Syspanel.com.br
Email: contato@syspanel.com.br
## Licença
Propriedade exclusiva da Syspanel.com.br. Todos os direitos reservados.