Este projeto é uma prova de conceito (POC) de uma API RESTful simples usando Node.js, Prisma e Docker. O projeto é parte da submissão para a competição "Rinha". Este README servirá como um guia rápido para executar o projeto.
- Docker
- Docker Compose
- Node.js
- NPM
git clone https://github.com/seu-usuario/seu-projeto.git
cd seu-projeto
docker-compose up -d
Isso iniciará o PostgreSQL como definido no arquivo docker-compose.yml
.
npm install
Crie um arquivo .env
na raiz do projeto e adicione a string de conexão do PostgreSQL.
DATABASE_URL="postgresql://username:password@localhost:5432/mydb"
Gere o cliente Prisma:
npx prisma generate
npx prisma migrate dev
npm start
Isso iniciará o servidor na porta 3000.
docker build -t rinha-api .
docker-compose up -d
Isso iniciará o servidor o nginx 9999.
Envie um JSON com os dados da pessoa.
Exemplo:
curl --request POST \
--url http://localhost:3000/pessoas \
--header 'Content-Type: application/json' \
--data '{
"apelido": "ana",
"nome": "Ana Barbosa",
"nascimento": "1985-09-23",
"stack": ["Node", "Postgres"]
}'
Para buscar um recurso por ID.
curl http://localhost:3000/pessoas/5ce4668c-4710-4cfb-ae5f-38988d6d49cb
Para fazer uma busca em todos os campos.
curl http://localhost:3000/pessoas?t=ana
Para obter o número total de pessoas cadastradas.
curl http://localhost:3000/contagem-pessoas