Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/laisfrigerio/smart-prompter-gemini
Gerenciador de templates de prompt com integração à API Gemini do Google
https://github.com/laisfrigerio/smart-prompter-gemini
alura cicd express gemini gemini-api generative-ai github-actions google google-gemini jest nodejs supertest swagger typescript
Last synced: about 2 months ago
JSON representation
Gerenciador de templates de prompt com integração à API Gemini do Google
- Host: GitHub
- URL: https://github.com/laisfrigerio/smart-prompter-gemini
- Owner: laisfrigerio
- License: mit
- Created: 2024-11-03T16:36:14.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-08T08:44:20.000Z (about 2 months ago)
- Last Synced: 2024-11-08T09:31:02.314Z (about 2 months ago)
- Topics: alura, cicd, express, gemini, gemini-api, generative-ai, github-actions, google, google-gemini, jest, nodejs, supertest, swagger, typescript
- Language: TypeScript
- Homepage:
- Size: 135 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# smart-prompter-gemini
API para gerenciamento de templates de prompts com integração à API gemini do Google!
## Desafio
- [x] Dia 01: Setup básico da aplicação + integração com Gemini
- [x] Dia 02: Salvar prompts e setup do ambiente de testes
- [x] Dia 03: Criando CRUD de categorias e testes de unidade com mocks
- [x] Dia 04: Escrevendo testes de integração
- [x] Dia 05: Categorizando os prompts
- [x] Dia 06: Adicionando documentação swagger
- [ ] Dia 07: Integração contínua com Github Actions## Rotas - Templates
### Criar um template
- POST:
```sh
curl -H 'Content-Type: application/json' http://localhost:3000/templates -d '{"title": "Capital do estado do Paraná", "content": "Qual a capital do estado do Paraná situada na região sul do Brasil?"}'
```- Exemplo de resposta:
```json
{
"id": "297c2b12-c47f-43ce-8fad-0864d36fe8f8",
"title": "Capital do estado do Paraná",
"content": "Qual a capital do estado do Paraná situada na região sul do Brasil?",,
"categories": []
}
```### Lista de templates
- GET:
```sh
curl 'Content-Type: application/json' http://localhost:3000/templates
```- Exemplo de resposta:
```json
[
{
"id": "297c2b12-c47f-43ce-8fad-0864d36fe8f8",
"title": "Capital do estado do Paraná",
"content": "Qual a capital do estado do Paraná situada na região sul do Brasil?",,
"categories": []
}
]
```### Encontrar um template por ID
- GET:
```sh
curl 'Content-Type: application/json' http://localhost:3000/templates/7befb756-9dad-48c0-a5a7-3a0c3d20a3fc
```- Exemplo de resposta:
```json
{
"id": "297c2b12-c47f-43ce-8fad-0864d36fe8f8",
"title": "Capital do estado do Paraná",
"content": "Qual a capital do estado do Paraná situada na região sul do Brasil?",,
"categories": []
}
```### Editar um template por ID
- PUT:
```sh
curl -H 'Content-Type: application/json' -X PUT http://localhost:3000/templates/7befb756-9dad-48c0-a5a7-3a0c3d20a3fc -d '{"title": "Capital do estado do Paraná", "content": "Qual a capital do estado do Paraná situada na região sul do Brasil, por favor?"}'
```- Exemplo de resposta:
```json
{
"id": "297c2b12-c47f-43ce-8fad-0864d36fe8f8",
"title": "Capital do estado do Paraná",
"content": "Qual a capital do estado do Paraná situada na região sul do Brasil?",,
"categories": []
}
```### Remover um template por ID
- DELETE:
```sh
curl -H 'Content-Type: application/json' -X DELETE http://localhost:3000/templates/7befb756-9dad-48c0-a5a7-3a0c3d20a3fc
```## Rotas - Categories
### Criar uma categoria
- POST:
```sh
curl -H 'Content-Type: application/json' http://localhost:3000/categories -d '{"name": "Java", "description": "Linguagem de Programação"}'
```- Exemplo de resposta:
```json
{
"id": "297c2b12-c47f-43ce-8fad-0864d36fe8f8",
"name": "Java",
"description": "Linguagem de Programação",
"templates": []
}
```### Lista de categorias
- GET:
```sh
curl 'Content-Type: application/json' http://localhost:3000/categories
```- Exemplo de resposta:
```json
[
{
"id": "297c2b12-c47f-43ce-8fad-0864d36fe8f8",
"name": "Java",
"description": "Linguagem de Programação",
"templates": []
}
]
```### Encontrar uma categoria por ID
- GET:
```sh
curl 'Content-Type: application/json' http://localhost:3000/categories/7befb756-9dad-48c0-a5a7-3a0c3d20a3fc
```- Exemplo de resposta:
```json
{
"id": "297c2b12-c47f-43ce-8fad-0864d36fe8f8",
"name": "Java",
"description": "Linguagem de Programação",
"templates": []
}
```### Editar uma categoria por ID
- PUT:
```sh
curl -H 'Content-Type: application/json' -X PUT http://localhost:3000/categories/7befb756-9dad-48c0-a5a7-3a0c3d20a3fc -d '{"title": "Java"}'
```- Exemplo de resposta:
```json
{
"id": "297c2b12-c47f-43ce-8fad-0864d36fe8f8",
"name": "Java",
"description": "",
"templates": []
}
```### Remover um template por ID
- DELETE:
```sh
curl -H 'Content-Type: application/json' -X DELETE http://localhost:3000/categories/7befb756-9dad-48c0-a5a7-3a0c3d20a3fc
```## Rotas - Categoriação de templates
### Attach
- POST:
```sh
curl -H 'Content-Type: application/json' -X POST http://localhost:3000/templates/4860843a-9d01-4fb8-8985-c1ce02602c27/categories/28156d6e-840d-4fed-b1ed-af0b5a3dfb7a
```- Exemplo de resposta:
```json
{
"id": "4860843a-9d01-4fb8-8985-c1ce02602c27",
"title": "Capital do estado do Paraná",
"content": "Qual a capital do estado do Paraná situada na região sul do Brasil?",
"categories": [
{
"id": "28156d6e-840d-4fed-b1ed-af0b5a3dfb7a",
"name": "Java",
"description": "Linguagem de Programação"
}
]
}
```### Detach
- DELETE:
```sh
curl -H 'Content-Type: application/json' -X DELETE http://localhost:3000/templates/4860843a-9d01-4fb8-8985-c1ce02602c27/categories/28156d6e-840d-4fed-b1ed-af0b5a3dfb7a
```- Exemplo de resposta:
```json
{
"id": "297c2b12-c47f-43ce-8fad-0864d36fe8f8",
"title": "Prompt title",
"content": "Prompt content",
"categories": []
}
```