Este repositório contém o projeto desenvolvido durante a Imersão BackEnd Alura, com foco no aprendizado de conceitos fundamentais de desenvolvimento back-end utilizando Node.js, Express. MongoDB e outras tecnologias.
- Criação de APIs RESTful.
- Estruturação de projetos back-end.
- Manipulação de dados com um banco de dados NoSQL (MongoDB).
- Implementação de rotas, controladores e middlewares.
- Tratamento de erros e validações.
- Node.js
- Express
- MongoDB
- Postman (para testar APIs)
- Outras dependências detalhadas no arquivo
package.json
.
Antes de começar, você precisa ter instalado:
-
Clone este repositório em sua máquina:
git clone https://github.com/WSantos79/Imersao-BackEnd.git
-
Acesse a pasta do projeto:
cd Imersao-BackEnd
-
Instale as dependências necessárias:
npm install
-
Configure as variáveis de ambiente:
Crie um arquivo .env na raiz do projeto
Configure as seguintes variáveis no arquivo:
DB_NAME = "Nome_do_banco_de_dados" DB_COLECAO = "Nome_da_coleçao_de_banco_de_dados" STRING_CONEXAO = "mongodb+srv://<seu_usuario>:<sua_senha>.av6pl.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0" GEMINI_API_KEY = "sua_api_key"
-
Inicie o servidor:
npm run dev
-
Acesse a API no navegador ou em ferramentas como o Postman:
URL padrão: http://localhost:3000.
Imersao-BackEnd/
├── src/
│ ├── controllers/ # Controladores responsáveis pelas rotas.
│ ├── models/ # Modelos para dados do banco.
│ ├── routes/ # Arquivos de rotas da aplicação.
│ ├── services/ # Serviços para lógica ou APIs externas.
│ │ └── gerarDescricaoComGemini.js # Gera descrições de imagens com a API Gemini.
│ ├── config/ # Configurações gerais do projeto.
├── server.js # Arquivo principal do servidor.
├── services.sh # Script para configurar serviços no Google Cloud.
├── .env # Variáveis de ambiente, como chaves de API.
├── package.json # Dependências e configurações do projeto.
└── README.md # Documentação com instruções do projeto.
Exemplos de rotas disponíveis:
GET /posts - Retorna a lista de posts.
POST /posts - Cria um novo post.
PUT /posts/:id - Atualiza um post específico.
Para mais detalhes sobre as rotas, consulte o código em src/routes.
Certifique-se de proteger seu arquivo .env e nunca publique credenciais sensíveis em repositórios públicos.
Projeto desenvolvido por Wellington Santos 🚀 como parte da Imersão BackEnd.
Se tiver dúvidas ou sugestões, entre em contato ou contribua com melhorias para este repositório!