Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tiagom13/postory-api
Postory API é uma aplicação construída com NestJS para facilitar o gerenciamento de posts, oferecendo funcionalidades essenciais de forma simples e eficiente.
https://github.com/tiagom13/postory-api
class-validator clean-architecture neon nestjs postgresql prisma validation-pipe
Last synced: 7 days ago
JSON representation
Postory API é uma aplicação construída com NestJS para facilitar o gerenciamento de posts, oferecendo funcionalidades essenciais de forma simples e eficiente.
- Host: GitHub
- URL: https://github.com/tiagom13/postory-api
- Owner: TiagoM13
- Created: 2024-08-19T12:21:53.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-09T21:31:09.000Z (2 months ago)
- Last Synced: 2025-01-31T22:09:20.961Z (7 days ago)
- Topics: class-validator, clean-architecture, neon, nestjs, postgresql, prisma, validation-pipe
- Language: TypeScript
- Homepage:
- Size: 456 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Postory API
**Postory API** é uma aplicação criada com NestJS, desenvolvida para oferecer um sistema simples e eficiente de gerenciamento de posts. Com funcionalidades que incluem criar, listar, atualizar e excluir posts, ela foi projetada para atender às necessidades de aplicações modernas que demandam organização e flexibilidade na manipulação de conteúdo. A API é ideal para ser integrada em projetos que buscam uma solução robusta e fácil de utilizar, garantindo praticidade tanto para os desenvolvedores quanto para os usuários finais.
### Tecnologias Utilizadas
- **NestJS**: Framework para Node.js que facilita a construção de APIs escaláveis e bem estruturadas.
- **Prisma** ORM: ORM (Object-Relational Mapping) para Node.js, usado para interagir com o banco de dados PostgreSQL de maneira eficiente.
- **PostgreSQL**: Banco de dados relacional utilizado para armazenar dados dos posts.
- **TypeScript**: Linguagem de programação para garantir maior segurança no desenvolvimento e melhorar a legibilidade do código.### Exemplo de Requisição e Resposta
#### Criar um Post
**Request Body**
```json
{
"title": "Introdução ao NestJS com Prisma",
"content": "NestJS é um framework poderoso para construir aplicações escaláveis em Node.js...",
"author": "Autor Exemplo",
"category": "Desenvolvimento Web",
"tags": ["nestjs", "prisma", "backend"],
"isPublished": true,
"publishedAt": "2024-11-27T10:00:00.000Z",
"thumbnail": "https://example.com/thumbnail.jpg"
}
```**Resposta**
```json
{
"post": {
"id": "79bb8484-09b1-43fc-ac96-109b41da186e",
"title": "Introdução ao NestJS com Prisma",
"content": "NestJS é um framework poderoso para construir aplicações escaláveis em Node.js...",
"author": "Autor Exemplo",
"category": "Desenvolvimento Web",
"tags": ["nestjs", "prisma", "backend"],
"isPublished": true,
"publishedAt": "2024-11-27T10:00:00.000Z",
"thumbnail": "https://example.com/thumbnail.jpg",
"createdAt": "2024-11-27T10:00:00.000Z",
"updatedAt": "2024-11-27T10:00:00.000Z"
}
}
```
#### Obter Todos os Posts**Resposta**
```json
{
"posts": [
{
"id": "79bb8484-09b1-43fc-ac96-109b41da186e",
"title": "Introdução ao NestJS com Prisma",
"content": "NestJS é um framework poderoso para construir aplicações escaláveis em Node.js...",
"author": "Autor Exemplo",
"category": "Desenvolvimento Web",
"tags": ["nestjs", "prisma", "backend"],
"isPublished": true,
"publishedAt": "2024-11-27T10:00:00.000Z",
"thumbnail": "https://example.com/thumbnail.jpg",
"createdAt": "2024-11-27T10:00:00.000Z",
"updatedAt": "2024-11-27T10:00:00.000Z"
}
]
}
```#### Obter um Post Específico
**Request Params:*** `id`: O ID do post a ser recuperado. Obter um Post Específico
**Resposta**
```json
{
"post": {
"id": "79bb8484-09b1-43fc-ac96-109b41da186e",
"title": "Introdução ao NestJS com Prisma",
"content": "NestJS é um framework poderoso para construir aplicações escaláveis em Node.js...",
"author": "Autor Exemplo",
"category": "Desenvolvimento Web",
"tags": ["nestjs", "prisma", "backend"],
"isPublished": true,
"publishedAt": "2024-11-27T10:00:00.000Z",
"thumbnail": "https://example.com/thumbnail.jpg",
"createdAt": "2024-11-27T10:00:00.000Z",
"updatedAt": "2024-11-27T10:00:00.000Z"
}
}
```