https://github.com/thadeu-alves/biblia-api
Uma RESTful API Open Source com todos os livros da Bíblia.
https://github.com/thadeu-alves/biblia-api
fastify nodejs redis typescript vitest
Last synced: about 1 month ago
JSON representation
Uma RESTful API Open Source com todos os livros da Bíblia.
- Host: GitHub
- URL: https://github.com/thadeu-alves/biblia-api
- Owner: thadeu-alves
- Created: 2025-07-24T14:50:50.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-10-01T11:11:03.000Z (9 months ago)
- Last Synced: 2025-10-27T11:44:12.606Z (8 months ago)
- Topics: fastify, nodejs, redis, typescript, vitest
- Language: TypeScript
- Homepage: https://bibliaapi.vercel.app/
- Size: 1.31 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Bíblia API
Uma API que fornece acesso a dados de livros, capítulos e versículos da bíblia.
https://bibliaapi.vercel.app





# Instalação e Scripts
- [Demo](https://bibliapage.vercel.app)
Antes de começar, tenha certeza que você tem o [Git](https://git-scm.com) e o [Node](https://nodejs.org/en/) instalado no seu sistema.
```bash
# Clone o repositório na sua máquina
$ git clone https://github.com/thadeu-alves/biblia-api
# Entre na pasta
$ cd biblia-api
# Instale as depedências
$ npm install
# Inicie o servidor
$ npm run dev
# O servidor será inicializado na porta padrão
```
- `dev`: inicia a aplicação em `localhost:3000`;
- `build`: cria a build de produção otimizada;
- `start`: inicia a aplicação em modo de produção em localhost:3000 (rode a build primeiro);
- `test`: roda os testes;
## 🔍 Rotas
### 1. **Obter todos os Livros**
**GET** `/livros`
- **Descrição:** Retorna todo o conteúdo estruturado.
- **Resposta de sucesso (200):**
```json
{
"data": [
{
"id": "1",
"periodo": "Antigo Testamento - AT",
"nome": "Gênesis",
"abrev": "gn",
"capitulos": 50,
},
{
"id": "2",
"periodo": "Antigo Testamento - AT",
"nome": "Êxodo",
"abrev": "êx",
"capitulos": 40,
},
...
],
}
```
### 2. **Obter Livro específico**
**GET** `/livros/:id`
- **Parâmetros de rota:**
- **id** (string | number) → Pode ser abreviação (ex: **Gn**) ou número (ex: **1**).
- **Descrição:** Retorna o livro espeficiado através de seu id ou da sua abreviação.
- **Resposta de sucesso (200):**
```json
{
"data": {
"id": "1",
"periodo": "Antigo Testamento - AT",
"nome": "Gênesis",
"abrev": "gn",
"capitulos": 50
}
}
```
### 3. **Obter capítulo, versículo ou intervalo de versículos**
**GET** `/livros/:id/:capitulo`
- **Parâmetros de rota:**
- **id** (string | number) → Abreviação ou número do livro.
- **capitulo** (number) → Número do capítulo (inicia em 1).
- **Query params (opcionais):**
- **verse** (number) → Número do versículo específico.
- **range** (string) → Intervalo de versículos (ex: 1-5).
- **Descrição:**
- Se **range** for informado, retorna o intervalo de versículos.
- Se **verse** for informado, retorna um versículo específico.
- Se nenhum for informado, retorna o capítulo completo.
- **Resposta de sucesso (200):**
```json
{
"data": [
"No princípio criou Deus os céus e a terra.",
"E a terra estava desordenada e vazia, e as trevas estavam sobre a face do abismo, e o Espírito de Deus se movia sobre a face das águas.",
"E disse Deus: Haja luz; e houve luz.",
...
]
}
```
# Autor
👤 **Thadeu Alves**
- Github: [@thadeu-alves](https://github.com/thadeu-alves)
- LinkedIn: [@thadeualves](https://linkedin.com/in/thadeualves)
## Apoie
Deixe uma ⭐️ se esse projeto te ajudou!