funifier-mcp 0.2.0 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/.cursor/rules/funifier.mdc +91 -0
  2. package/.github/copilot-instructions.md +83 -0
  3. package/AGENTS.md +97 -0
  4. package/README.md +247 -78
  5. package/datasource-funifier-docs/knowledge/guides/aggregates.md +152 -152
  6. package/datasource-funifier-docs/knowledge/guides/database-access.md +132 -132
  7. package/datasource-funifier-docs/knowledge/guides/java-entities.md +373 -373
  8. package/datasource-funifier-docs/knowledge/guides/java-libraries.md +330 -330
  9. package/datasource-funifier-docs/knowledge/guides/java-managers.md +509 -509
  10. package/datasource-funifier-docs/knowledge/guides/triggers-guide.md +271 -271
  11. package/datasource-funifier-docs/knowledge/index.md +121 -121
  12. package/datasource-funifier-docs/knowledge/modules/achievement.md +46 -46
  13. package/datasource-funifier-docs/knowledge/modules/action-log.md +88 -88
  14. package/datasource-funifier-docs/knowledge/modules/action.md +80 -80
  15. package/datasource-funifier-docs/knowledge/modules/auth.md +104 -104
  16. package/datasource-funifier-docs/knowledge/modules/avatar.md +28 -28
  17. package/datasource-funifier-docs/knowledge/modules/backup.md +40 -40
  18. package/datasource-funifier-docs/knowledge/modules/challenge.md +91 -91
  19. package/datasource-funifier-docs/knowledge/modules/compact.md +40 -40
  20. package/datasource-funifier-docs/knowledge/modules/competition.md +149 -149
  21. package/datasource-funifier-docs/knowledge/modules/crossword.md +41 -41
  22. package/datasource-funifier-docs/knowledge/modules/csv-data.md +30 -30
  23. package/datasource-funifier-docs/knowledge/modules/custom-object.md +53 -53
  24. package/datasource-funifier-docs/knowledge/modules/database.md +241 -241
  25. package/datasource-funifier-docs/knowledge/modules/folder.md +111 -111
  26. package/datasource-funifier-docs/knowledge/modules/kpi-formulas.md +23 -23
  27. package/datasource-funifier-docs/knowledge/modules/lastmile.md +45 -45
  28. package/datasource-funifier-docs/knowledge/modules/leaderboard.md +98 -98
  29. package/datasource-funifier-docs/knowledge/modules/level.md +83 -83
  30. package/datasource-funifier-docs/knowledge/modules/lottery.md +112 -112
  31. package/datasource-funifier-docs/knowledge/modules/marketplace.md +27 -27
  32. package/datasource-funifier-docs/knowledge/modules/mystery.md +82 -82
  33. package/datasource-funifier-docs/knowledge/modules/notification.md +40 -40
  34. package/datasource-funifier-docs/knowledge/modules/patterns.md +1096 -1096
  35. package/datasource-funifier-docs/knowledge/modules/player.md +101 -101
  36. package/datasource-funifier-docs/knowledge/modules/point.md +67 -67
  37. package/datasource-funifier-docs/knowledge/modules/public.md +253 -253
  38. package/datasource-funifier-docs/knowledge/modules/question.md +136 -136
  39. package/datasource-funifier-docs/knowledge/modules/quiz.md +163 -163
  40. package/datasource-funifier-docs/knowledge/modules/scheduler.md +58 -58
  41. package/datasource-funifier-docs/knowledge/modules/security.md +169 -169
  42. package/datasource-funifier-docs/knowledge/modules/staging.md +28 -28
  43. package/datasource-funifier-docs/knowledge/modules/static-repo.md +41 -41
  44. package/datasource-funifier-docs/knowledge/modules/story.md +42 -42
  45. package/datasource-funifier-docs/knowledge/modules/studio-page.md +180 -180
  46. package/datasource-funifier-docs/knowledge/modules/swap.md +132 -132
  47. package/datasource-funifier-docs/knowledge/modules/team.md +75 -75
  48. package/datasource-funifier-docs/knowledge/modules/trigger.md +189 -189
  49. package/datasource-funifier-docs/knowledge/modules/upload.md +155 -155
  50. package/datasource-funifier-docs/knowledge/modules/virtual-good.md +99 -99
  51. package/datasource-funifier-docs/knowledge/modules/webhook.md +41 -41
  52. package/datasource-funifier-docs/knowledge/modules/websocket.md +41 -41
  53. package/datasource-funifier-docs/knowledge/modules/widget.md +42 -42
  54. package/datasource-funifier-docs/process-gtm-saas.md +143 -143
  55. package/datasource-funifier-docs/process-instagram.md +88 -88
  56. package/datasource-funifier-docs/process.md +1826 -1826
  57. package/datasource-funifier-docs/readme.md +132 -132
  58. package/dist/cli/config-writers.js +11 -11
  59. package/dist/mcp/bundle.js +55 -52
  60. package/package.json +70 -67
  61. package/skills/funifier-create-aggregate/SKILL.md +126 -126
  62. package/skills/funifier-create-custom-page/SKILL.md +126 -126
  63. package/skills/funifier-create-scheduler/SKILL.md +126 -126
  64. package/skills/funifier-create-trigger/SKILL.md +127 -127
@@ -1,91 +1,91 @@
1
- # Challenge (Desafio)
2
-
3
- **Acesso Studio:** `/studio/challenge`
4
- **API Endpoint:** `/v3/challenge`
5
-
6
- ## O que é
7
-
8
- Configuração de desafios a serem completados por jogadores ou equipes. Permite criar desafios personalizados, definindo ações que o jogador precisa realizar e recompensas que receberá. Os desafios podem variar de simples tarefas a missões complexas compostas por múltiplas ações ou etapas.
9
-
10
- ## Quando usar
11
-
12
- - Em quase todo projeto de gamificação
13
- - Para definir missões e objetivos para jogadores
14
- - Para vincular ações a recompensas (pontos, itens, etc.)
15
- - Para criar progressão e senso de conquista
16
-
17
- ## Dependências
18
-
19
- - **Point**: tipos de ponto devem existir antes de criar challenges que os recompensam
20
- - **Action**: ações devem existir antes de criar challenges que as referenciam
21
-
22
- ## Checklist de Configuração no Studio
23
-
24
- - [ ] Definir título e descrição do desafio
25
- - [ ] Definir regras (rules): qual ação, quantas vezes, filtros por atributo
26
- - [ ] Definir recompensas (points): tipo de ponto e quantidade
27
- - [ ] Definir frequência (uma vez, diário, semanal, ilimitado)
28
- - [ ] Definir desbloqueio (quando fica disponível)
29
- - [ ] Configurar notificações de conclusão
30
- - [ ] Vincular técnicas de jogo (techniques)
31
-
32
- ## API Endpoints
33
-
34
- ### Listar Desafios
35
- **Método:** GET
36
- **Endpoint:** `/v3/challenge`
37
-
38
- **Exemplo de Resposta:**
39
- ```json
40
- [
41
- {
42
- "challenge": "Sell 10 books",
43
- "description": "Sell 10 books to earn 25 xp and 5 coins",
44
- "rules": [
45
- {
46
- "actionId": "sell",
47
- "filters": [
48
- { "value": "book", "operator": 1, "param": "product" }
49
- ],
50
- "total": 10
51
- }
52
- ],
53
- "points": [
54
- { "total": 25, "category": "xp" },
55
- { "total": 5, "category": "coin" }
56
- ],
57
- "_id": "DTkhJHV"
58
- }
59
- ]
60
- ```
61
-
62
- ### Criar Desafio
63
- **Método:** POST
64
- **Endpoint:** `/v3/challenge`
65
-
66
- **Exemplo de Body:**
67
- ```json
68
- {
69
- "challenge": "Watch Video",
70
- "description": "Complete this challenge by watching a video, and earn 10 xp",
71
- "rules": [
72
- { "actionId": "watch_video", "operator": 5, "total": 0 }
73
- ],
74
- "points": [
75
- { "total": 10.0, "category": "xp", "operation": 0 }
76
- ],
77
- "techniques": ["GT35"]
78
- }
79
- ```
80
-
81
- ### Excluir Desafio
82
- **Método:** DELETE
83
- **Endpoint:** `/v3/challenge/:id`
84
-
85
- ## Validações e Testes
86
-
87
- - [ ] Desafio aparece na lista GET /v3/challenge
88
- - [ ] Ações referenciadas nas rules existem (GET /v3/action)
89
- - [ ] Pontos referenciados nas recompensas existem (GET /v3/point)
90
- - [ ] Ao registrar ação (POST /v3/action/log), o desafio progride corretamente
91
- - [ ] Ao completar o desafio, jogador recebe os pontos definidos
1
+ # Challenge (Desafio)
2
+
3
+ **Acesso Studio:** `/studio/challenge`
4
+ **API Endpoint:** `/v3/challenge`
5
+
6
+ ## O que é
7
+
8
+ Configuração de desafios a serem completados por jogadores ou equipes. Permite criar desafios personalizados, definindo ações que o jogador precisa realizar e recompensas que receberá. Os desafios podem variar de simples tarefas a missões complexas compostas por múltiplas ações ou etapas.
9
+
10
+ ## Quando usar
11
+
12
+ - Em quase todo projeto de gamificação
13
+ - Para definir missões e objetivos para jogadores
14
+ - Para vincular ações a recompensas (pontos, itens, etc.)
15
+ - Para criar progressão e senso de conquista
16
+
17
+ ## Dependências
18
+
19
+ - **Point**: tipos de ponto devem existir antes de criar challenges que os recompensam
20
+ - **Action**: ações devem existir antes de criar challenges que as referenciam
21
+
22
+ ## Checklist de Configuração no Studio
23
+
24
+ - [ ] Definir título e descrição do desafio
25
+ - [ ] Definir regras (rules): qual ação, quantas vezes, filtros por atributo
26
+ - [ ] Definir recompensas (points): tipo de ponto e quantidade
27
+ - [ ] Definir frequência (uma vez, diário, semanal, ilimitado)
28
+ - [ ] Definir desbloqueio (quando fica disponível)
29
+ - [ ] Configurar notificações de conclusão
30
+ - [ ] Vincular técnicas de jogo (techniques)
31
+
32
+ ## API Endpoints
33
+
34
+ ### Listar Desafios
35
+ **Método:** GET
36
+ **Endpoint:** `/v3/challenge`
37
+
38
+ **Exemplo de Resposta:**
39
+ ```json
40
+ [
41
+ {
42
+ "challenge": "Sell 10 books",
43
+ "description": "Sell 10 books to earn 25 xp and 5 coins",
44
+ "rules": [
45
+ {
46
+ "actionId": "sell",
47
+ "filters": [
48
+ { "value": "book", "operator": 1, "param": "product" }
49
+ ],
50
+ "total": 10
51
+ }
52
+ ],
53
+ "points": [
54
+ { "total": 25, "category": "xp" },
55
+ { "total": 5, "category": "coin" }
56
+ ],
57
+ "_id": "DTkhJHV"
58
+ }
59
+ ]
60
+ ```
61
+
62
+ ### Criar Desafio
63
+ **Método:** POST
64
+ **Endpoint:** `/v3/challenge`
65
+
66
+ **Exemplo de Body:**
67
+ ```json
68
+ {
69
+ "challenge": "Watch Video",
70
+ "description": "Complete this challenge by watching a video, and earn 10 xp",
71
+ "rules": [
72
+ { "actionId": "watch_video", "operator": 5, "total": 0 }
73
+ ],
74
+ "points": [
75
+ { "total": 10.0, "category": "xp", "operation": 0 }
76
+ ],
77
+ "techniques": ["GT35"]
78
+ }
79
+ ```
80
+
81
+ ### Excluir Desafio
82
+ **Método:** DELETE
83
+ **Endpoint:** `/v3/challenge/:id`
84
+
85
+ ## Validações e Testes
86
+
87
+ - [ ] Desafio aparece na lista GET /v3/challenge
88
+ - [ ] Ações referenciadas nas rules existem (GET /v3/action)
89
+ - [ ] Pontos referenciados nas recompensas existem (GET /v3/point)
90
+ - [ ] Ao registrar ação (POST /v3/action/log), o desafio progride corretamente
91
+ - [ ] Ao completar o desafio, jogador recebe os pontos definidos
@@ -1,40 +1,40 @@
1
- # Compact (Compactação)
2
-
3
- **Acesso Studio:** `/studio/compact`
4
- **API Endpoint:** `/v3/compact`
5
-
6
- ## O que é
7
-
8
- Compactação e otimização do armazenamento de dados. Configura rotinas para agrupar registros e reduzir o espaço ocupado por dados históricos, como achievements ou logs, melhorando o tempo de resposta das consultas e a performance geral.
9
-
10
- ## Quando usar
11
-
12
- - Para compactar registros de achievements acumulados
13
- - Para otimizar coleções de acesso rápido
14
- - Para reduzir volume de dados históricos
15
-
16
- ## Checklist de Configuração no Studio
17
-
18
- - [ ] Definir coleções a compactar
19
- - [ ] Configurar critérios de agrupamento
20
- - [ ] Testar impacto na performance
21
-
22
- ## API Endpoints
23
-
24
- ### Listar Compactações
25
- **Método:** GET
26
- **Endpoint:** `/v3/compact`
27
-
28
- ### Criar Compactação
29
- **Método:** POST
30
- **Endpoint:** `/v3/compact`
31
-
32
- ### Deletar Compactação
33
- **Método:** DELETE
34
- **Endpoint:** `/v3/compact/:id`
35
-
36
- ## Validações e Testes
37
-
38
- - [ ] Compactação é executada sem perda de dados
39
- - [ ] Volume de dados é reduzido
40
- - [ ] Consultas mantêm resultados corretos após compactação
1
+ # Compact (Compactação)
2
+
3
+ **Acesso Studio:** `/studio/compact`
4
+ **API Endpoint:** `/v3/compact`
5
+
6
+ ## O que é
7
+
8
+ Compactação e otimização do armazenamento de dados. Configura rotinas para agrupar registros e reduzir o espaço ocupado por dados históricos, como achievements ou logs, melhorando o tempo de resposta das consultas e a performance geral.
9
+
10
+ ## Quando usar
11
+
12
+ - Para compactar registros de achievements acumulados
13
+ - Para otimizar coleções de acesso rápido
14
+ - Para reduzir volume de dados históricos
15
+
16
+ ## Checklist de Configuração no Studio
17
+
18
+ - [ ] Definir coleções a compactar
19
+ - [ ] Configurar critérios de agrupamento
20
+ - [ ] Testar impacto na performance
21
+
22
+ ## API Endpoints
23
+
24
+ ### Listar Compactações
25
+ **Método:** GET
26
+ **Endpoint:** `/v3/compact`
27
+
28
+ ### Criar Compactação
29
+ **Método:** POST
30
+ **Endpoint:** `/v3/compact`
31
+
32
+ ### Deletar Compactação
33
+ **Método:** DELETE
34
+ **Endpoint:** `/v3/compact/:id`
35
+
36
+ ## Validações e Testes
37
+
38
+ - [ ] Compactação é executada sem perda de dados
39
+ - [ ] Volume de dados é reduzido
40
+ - [ ] Consultas mantêm resultados corretos após compactação
@@ -1,149 +1,149 @@
1
- # Competition (Competição)
2
-
3
- **Acesso Studio:** `/studio/competition`
4
- **API Endpoint:** `/v3/competition`
5
-
6
- ## O que é
7
-
8
- Configuração de disputas diretas entre jogadores ou equipes. Permite criar competições com regras próprias, prêmios para diferentes posições e critérios de apuração customizáveis. Geralmente, o jogador ou equipe precisa se inscrever para participar.
9
-
10
- ## Quando usar
11
-
12
- - Para criar disputas temporais (ex: competição de vendas mensal)
13
- - Para premiar os melhores colocados em um período
14
- - Para engajar equipes com competições internas
15
-
16
- ## Dependências
17
-
18
- - **Point** ou **Action**: métrica de avaliação deve existir
19
- - **Player** ou **Team**: participantes devem existir
20
-
21
- ## Checklist de Configuração no Studio
22
-
23
- - [ ] Definir título e descrição
24
- - [ ] Definir período de apuração (period.expression)
25
- - [ ] Definir número máximo de vencedores (maxWinners)
26
- - [ ] Definir número máximo de participantes (maxPlayers)
27
- - [ ] Definir critério de ranking (operation: tipo, item, ordenação)
28
- - [ ] Definir custo de inscrição (requires) se aplicável
29
- - [ ] Definir recompensas por posição (rewards com position_start/position_ends)
30
- - [ ] Definir se é competição de equipes (teamCompetition)
31
- - [ ] Ativar competição (active: true)
32
- - [ ] Definir execução automática (autoExecute)
33
-
34
- ## API Endpoints
35
-
36
- ### Listar Competições
37
- **Método:** GET
38
- **Endpoint:** `/v3/competition`
39
-
40
- ### Criar Competição
41
- **Método:** POST
42
- **Endpoint:** `/v3/competition`
43
-
44
- **Exemplo de Body:**
45
- ```json
46
- {
47
- "title": "Sales Race",
48
- "description": "Leads the competition who has the highest amount of closed sales in the month.",
49
- "period": {
50
- "expression": "-0M-;+1M+"
51
- },
52
- "maxWinners": 1,
53
- "maxPlayers": 100,
54
- "minScore": 0,
55
- "operation": {
56
- "type": 1,
57
- "achievement_type": 0,
58
- "item": "sell",
59
- "filters": [],
60
- "sort": -1,
61
- "sub": false
62
- },
63
- "requires": [
64
- {
65
- "total": 10,
66
- "type": 0,
67
- "item": "coin",
68
- "operation": 1,
69
- "extra": {},
70
- "restrict": false,
71
- "perPlayer": false
72
- }
73
- ],
74
- "rewards": [
75
- {
76
- "total": 100,
77
- "type": 0,
78
- "item": "xp",
79
- "operation": 0,
80
- "extra": {
81
- "position_start": 1,
82
- "position_ends": 3
83
- },
84
- "restrict": false,
85
- "perPlayer": false
86
- }
87
- ],
88
- "notifications": [],
89
- "active": true,
90
- "teamCompetition": false,
91
- "autoExecute": true,
92
- "extra": {},
93
- "techniques": ["GT26"],
94
- "_id": "race"
95
- }
96
- ```
97
-
98
- ### Deletar Competição
99
- **Método:** DELETE
100
- **Endpoint:** `/v3/competition/:id`
101
-
102
- ### Listar Participações (Joins)
103
- **Método:** GET
104
- **Endpoint:** `/v3/competition/join?competition=:id`
105
-
106
- ### Criar Participação (Join)
107
- **Método:** POST
108
- **Endpoint:** `/v3/competition/join`
109
-
110
- **Exemplo de Body:**
111
- ```json
112
- {
113
- "competition": "race",
114
- "player": "jerry"
115
- }
116
- ```
117
-
118
- ### Deletar Participação
119
- **Método:** DELETE
120
- **Endpoint:** `/v3/competition/join`
121
-
122
- **Exemplo de Body:**
123
- ```json
124
- {
125
- "competition": "race",
126
- "player": "tom"
127
- }
128
- ```
129
-
130
- ### Listar Líderes da Competição
131
- **Método:** POST
132
- **Endpoint:** `/v3/competition/leader/aggregate?id=:id`
133
-
134
- ### Executar Competição
135
- **Método:** GET
136
- **Endpoint:** `/v3/competition/:id/execute`
137
- **Descrição:** Finaliza a competição, calcula resultados e premia os vencedores.
138
-
139
- ### Reverter Execução
140
- **Método:** DELETE
141
- **Endpoint:** `/v3/competition/:id/execute`
142
-
143
- ## Validações e Testes
144
-
145
- - [ ] Competição aparece na lista GET /v3/competition
146
- - [ ] Jogador consegue se inscrever (join)
147
- - [ ] Lista de líderes retorna dados ordenados
148
- - [ ] Ao executar, vencedores recebem recompensas
149
- - [ ] Custo de inscrição é debitado corretamente
1
+ # Competition (Competição)
2
+
3
+ **Acesso Studio:** `/studio/competition`
4
+ **API Endpoint:** `/v3/competition`
5
+
6
+ ## O que é
7
+
8
+ Configuração de disputas diretas entre jogadores ou equipes. Permite criar competições com regras próprias, prêmios para diferentes posições e critérios de apuração customizáveis. Geralmente, o jogador ou equipe precisa se inscrever para participar.
9
+
10
+ ## Quando usar
11
+
12
+ - Para criar disputas temporais (ex: competição de vendas mensal)
13
+ - Para premiar os melhores colocados em um período
14
+ - Para engajar equipes com competições internas
15
+
16
+ ## Dependências
17
+
18
+ - **Point** ou **Action**: métrica de avaliação deve existir
19
+ - **Player** ou **Team**: participantes devem existir
20
+
21
+ ## Checklist de Configuração no Studio
22
+
23
+ - [ ] Definir título e descrição
24
+ - [ ] Definir período de apuração (period.expression)
25
+ - [ ] Definir número máximo de vencedores (maxWinners)
26
+ - [ ] Definir número máximo de participantes (maxPlayers)
27
+ - [ ] Definir critério de ranking (operation: tipo, item, ordenação)
28
+ - [ ] Definir custo de inscrição (requires) se aplicável
29
+ - [ ] Definir recompensas por posição (rewards com position_start/position_ends)
30
+ - [ ] Definir se é competição de equipes (teamCompetition)
31
+ - [ ] Ativar competição (active: true)
32
+ - [ ] Definir execução automática (autoExecute)
33
+
34
+ ## API Endpoints
35
+
36
+ ### Listar Competições
37
+ **Método:** GET
38
+ **Endpoint:** `/v3/competition`
39
+
40
+ ### Criar Competição
41
+ **Método:** POST
42
+ **Endpoint:** `/v3/competition`
43
+
44
+ **Exemplo de Body:**
45
+ ```json
46
+ {
47
+ "title": "Sales Race",
48
+ "description": "Leads the competition who has the highest amount of closed sales in the month.",
49
+ "period": {
50
+ "expression": "-0M-;+1M+"
51
+ },
52
+ "maxWinners": 1,
53
+ "maxPlayers": 100,
54
+ "minScore": 0,
55
+ "operation": {
56
+ "type": 1,
57
+ "achievement_type": 0,
58
+ "item": "sell",
59
+ "filters": [],
60
+ "sort": -1,
61
+ "sub": false
62
+ },
63
+ "requires": [
64
+ {
65
+ "total": 10,
66
+ "type": 0,
67
+ "item": "coin",
68
+ "operation": 1,
69
+ "extra": {},
70
+ "restrict": false,
71
+ "perPlayer": false
72
+ }
73
+ ],
74
+ "rewards": [
75
+ {
76
+ "total": 100,
77
+ "type": 0,
78
+ "item": "xp",
79
+ "operation": 0,
80
+ "extra": {
81
+ "position_start": 1,
82
+ "position_ends": 3
83
+ },
84
+ "restrict": false,
85
+ "perPlayer": false
86
+ }
87
+ ],
88
+ "notifications": [],
89
+ "active": true,
90
+ "teamCompetition": false,
91
+ "autoExecute": true,
92
+ "extra": {},
93
+ "techniques": ["GT26"],
94
+ "_id": "race"
95
+ }
96
+ ```
97
+
98
+ ### Deletar Competição
99
+ **Método:** DELETE
100
+ **Endpoint:** `/v3/competition/:id`
101
+
102
+ ### Listar Participações (Joins)
103
+ **Método:** GET
104
+ **Endpoint:** `/v3/competition/join?competition=:id`
105
+
106
+ ### Criar Participação (Join)
107
+ **Método:** POST
108
+ **Endpoint:** `/v3/competition/join`
109
+
110
+ **Exemplo de Body:**
111
+ ```json
112
+ {
113
+ "competition": "race",
114
+ "player": "jerry"
115
+ }
116
+ ```
117
+
118
+ ### Deletar Participação
119
+ **Método:** DELETE
120
+ **Endpoint:** `/v3/competition/join`
121
+
122
+ **Exemplo de Body:**
123
+ ```json
124
+ {
125
+ "competition": "race",
126
+ "player": "tom"
127
+ }
128
+ ```
129
+
130
+ ### Listar Líderes da Competição
131
+ **Método:** POST
132
+ **Endpoint:** `/v3/competition/leader/aggregate?id=:id`
133
+
134
+ ### Executar Competição
135
+ **Método:** GET
136
+ **Endpoint:** `/v3/competition/:id/execute`
137
+ **Descrição:** Finaliza a competição, calcula resultados e premia os vencedores.
138
+
139
+ ### Reverter Execução
140
+ **Método:** DELETE
141
+ **Endpoint:** `/v3/competition/:id/execute`
142
+
143
+ ## Validações e Testes
144
+
145
+ - [ ] Competição aparece na lista GET /v3/competition
146
+ - [ ] Jogador consegue se inscrever (join)
147
+ - [ ] Lista de líderes retorna dados ordenados
148
+ - [ ] Ao executar, vencedores recebem recompensas
149
+ - [ ] Custo de inscrição é debitado corretamente
@@ -1,41 +1,41 @@
1
- # Crossword (Palavras Cruzadas)
2
-
3
- **Acesso Studio:** `/studio/crossword`
4
- **API Endpoint:** `/v3/crossword`
5
-
6
- ## O que é
7
-
8
- Configuração de jogos de palavras cruzadas. Permite criar jogos customizados, com dicas, posições e temas específicos para diferentes objetivos educacionais ou promocionais.
9
-
10
- ## Quando usar
11
-
12
- - Para onboarding de funcionários com termos técnicos
13
- - Para campanhas de marketing temáticas
14
- - Para jogos educacionais
15
- - Para engajamento com vocabulário específico
16
-
17
- ## Checklist de Configuração no Studio
18
-
19
- - [ ] Definir título do jogo
20
- - [ ] Criar palavras com dicas e posições
21
- - [ ] Configurar tema visual
22
-
23
- ## API Endpoints
24
-
25
- ### Listar Crosswords
26
- **Método:** GET
27
- **Endpoint:** `/v3/crossword`
28
-
29
- ### Criar Crossword
30
- **Método:** POST
31
- **Endpoint:** `/v3/crossword`
32
-
33
- ### Deletar Crossword
34
- **Método:** DELETE
35
- **Endpoint:** `/v3/crossword/:id`
36
-
37
- ## Validações e Testes
38
-
39
- - [ ] Crossword aparece na lista
40
- - [ ] Palavras e dicas estão corretas
41
- - [ ] Jogador consegue interagir com o jogo
1
+ # Crossword (Palavras Cruzadas)
2
+
3
+ **Acesso Studio:** `/studio/crossword`
4
+ **API Endpoint:** `/v3/crossword`
5
+
6
+ ## O que é
7
+
8
+ Configuração de jogos de palavras cruzadas. Permite criar jogos customizados, com dicas, posições e temas específicos para diferentes objetivos educacionais ou promocionais.
9
+
10
+ ## Quando usar
11
+
12
+ - Para onboarding de funcionários com termos técnicos
13
+ - Para campanhas de marketing temáticas
14
+ - Para jogos educacionais
15
+ - Para engajamento com vocabulário específico
16
+
17
+ ## Checklist de Configuração no Studio
18
+
19
+ - [ ] Definir título do jogo
20
+ - [ ] Criar palavras com dicas e posições
21
+ - [ ] Configurar tema visual
22
+
23
+ ## API Endpoints
24
+
25
+ ### Listar Crosswords
26
+ **Método:** GET
27
+ **Endpoint:** `/v3/crossword`
28
+
29
+ ### Criar Crossword
30
+ **Método:** POST
31
+ **Endpoint:** `/v3/crossword`
32
+
33
+ ### Deletar Crossword
34
+ **Método:** DELETE
35
+ **Endpoint:** `/v3/crossword/:id`
36
+
37
+ ## Validações e Testes
38
+
39
+ - [ ] Crossword aparece na lista
40
+ - [ ] Palavras e dicas estão corretas
41
+ - [ ] Jogador consegue interagir com o jogo