Projeto desenvolvido para estudar os fundamentos do Node.js e Express, criando uma API REST simples com operações CRUD.
A aplicação permite cadastrar, listar, editar e excluir desejos, utilizando o Firebase Realtime Database para armazenamento dos dados.
O projeto foi criado com foco no aprendizado de:
- Node.js;
- Express;
- criação de rotas;
- métodos HTTP;
- APIs REST;
- requisições assíncronas;
- integração com banco de dados;
- comunicação entre frontend e backend.
- Node.js
- Express
- CORS
- Firebase Realtime Database
- HTML
- CSS
- JavaScript
- Fetch API
- ➕ Cadastro de desejos
- 📋 Listagem dos desejos cadastrados
- ✏️ Edição de desejos
- 🗑️ Exclusão de desejos
- 💾 Persistência dos dados no Firebase
- 🌐 Comunicação entre frontend e API
| Método | Endpoint | Função |
|---|---|---|
GET |
/ |
Lista todos os desejos |
POST |
/salvar |
Cadastra um novo desejo |
PUT |
/atualizar |
Atualiza um desejo |
DELETE |
/deletar/:id |
Exclui um desejo |
{
"nome": "Viajar",
"descricao": "Conhecer um novo país"
}api-desejos/
│
├── express.js
├── crud.js
├── fireBaseconfig.js
│
├── index.html
├── main.js
├── style.css
│
├── package.json
└── README.md
Configura o servidor Express e define as rotas da API.
Contém as operações de criação, leitura, atualização e exclusão dos dados.
Configura a conexão com o Firebase.
Realiza a comunicação do frontend com a API utilizando fetch.
Clone o repositório:
git clone https://github.com/eduardogil-byte/api-desejos.gitEntre na pasta:
cd api-desejosInstale as dependências:
npm installExecute o servidor:
npm startPor padrão, a API será iniciada na porta 3000.
Durante o projeto foram praticados conceitos como:
- criação de servidor com Express;
- rotas HTTP;
GET,POST,PUTeDELETE;- manipulação de JSON;
async/await;- tratamento básico de erros;
- CORS;
- CRUD;
- Firebase Realtime Database;
- consumo de API utilizando
fetch.
Projeto desenvolvido com finalidade de estudo e prática do framework Express, utilizando uma aplicação simples de lista de desejos para aplicar os conceitos aprendidos.
Eduardo Machado Gil
GitHub: @eduardogil-byte