Este projeto é uma API REST desenvolvida por Daniel Carlos para servir como um banco de palavras da língua portuguesa associadas a grupos de palavras.
Essa API pode ser usada por aplicativos e jogos que usam palavras.
Seeding inicial com mais de 260K palavras retiradas da Lista de todas as palavras do português brasileiro
- Node.js: Plataforma para execução de código JavaScript no lado do servidor.
- Typescript: Superset de javascript que adiciona tipagem estática à linguagem.
- NestJS: Framework de desenvolvimento de aplicações escaláveis em Node.js com foco em arquitetura modular e programação orientada a objetos.
- Prisma ORM: ORM (Object-Relational Mapping) para interação com o banco de dados de forma simples e eficiente.
- Node.js (v14 ou superior)
- npm ou yarn
- Banco de dados compatível com o Prisma (PostgreSQL, MySQL, SQLite, etc.)
-
Clone este repositório:
git clone https://github.com/daniel-carlos/palavras-api.git
-
Instale as dependências:
cd nome-do-repositorio npm install # ou yarn install
-
Configure o banco de dados. Crie um arquivo
.envna raiz do projeto e adicione as variáveis de ambiente:DATABASE_URL="postgresql://user:password@localhost:5432/dbname" GEMINI_API_KEY="<<your_gemini_api_key>>"
-
Configurar o Prisma:
npx prisma generate
-
Execute as migrações do Prisma:
npx prisma migrate dev
-
Inicie o servidor:
npm run start # ou yarn start
- POST
/words: Cria uma nova palavra. - POST
/words/batch: Cria várias palavras de uma vez. - POST
/words/assign: Cria associações entre uma palavra e os grupos. - GET
/words: retorna as palavras do banco. - GET
/words/:id: retorna uma palavra do banco. - GET
/words/random: retorna um conjunto de palavras escolhidas de maneira aleatória - PATCH
/words/:id: Edita os dados de uma palavra. - DELETE
/words/:id: Remove uma palavra do banco. - POST
/bot/auto-assign: recebe uma lista de palavras e uma lista de grupos e usa a API do Gemini para criar associações entre as palavras e os grupos. - POST
/bot/random-assign/:n: cria associações entre n palavras escolhidas aleatoriamente e os grupos passados usando a API do Gemini.
- Faça um fork deste repositório.
- Crie uma branch com a sua feature:
git checkout -b minha-feature. - Faça commit das suas alterações:
git commit -m 'feat: Minha nova feature'. - Faça push para a branch:
git push origin minha-feature. - Abra um pull request.
Este projeto está licenciado sob a MIT License.