Uma API REST inspirada no TabNews, desenvolvida com foco educacional e uso em conjunto com a aplicação front-end Mini TabNews SPA. Permite criar, listar, atualizar e excluir conteúdos como posts e comentários.
- Criar conteúdos
- Listar todos os conteúdos
- Listar um conteúdo por ID
- Listar comentários de um conteúdo
- Atualizar um conteúdo
- Deletar um conteúdo
- Clone o repositório:
git clone https://github.com/thecaKo/mini-tabnews-api.git
cd mini-tabnews-api- Instale as dependências:
npm install- Configure o banco de dados:
npx prisma migrate dev- Inicie o servidor:
npm run devServidor disponível em http://localhost:3333.
| Método | Rota | Descrição |
|---|---|---|
GET |
/contents |
Lista todos os conteúdos |
GET |
/contents/:id |
Retorna um conteúdo por ID |
GET |
/contents/:id/comments |
Lista os comentários de um conteúdo |
POST |
/contents |
Cria um novo conteúdo |
PUT |
/contents/:id |
Atualiza um conteúdo existente |
DELETE |
/contents/:id |
Deleta um conteúdo pelo ID |
{
"title": "Título do conteúdo",
"content": "Texto do conteúdo",
"parentId": null
}
parentId: Usenullpara posts ou forneça umidde conteúdo para adicionar como comentário.
curl -X POST http://localhost:3333/contents \
-H "Content-Type: application/json" \
-d '{
"title": "Exemplo de post",
"content": "Conteúdo do post aqui.",
"parentId": null
}'mini-tabnews-api/
├── prisma/ # Schema e migrations do banco de dados
├── src/
│ ├── routes/ # Rotas da aplicação
│ ├── controllers/ # Lógica dos endpoints
│ └── server.ts # Arquivo principal do servidor
├── .env # Variáveis de ambiente
├── package.json
└── README.md
Desenvolvido por @thecaKo