Uma API robusta e escalável construída com Node.js e TypeScript para o ecossistema Agrofy.
A Agrofy API é o coração da nossa plataforma, fornecendo endpoints eficientes para o gerenciamento de usuários e integração de dados agrícolas. Desenvolvida seguindo os princípios de Clean Architecture e SOLID para garantir manutenibilidade e performance.
Este projeto utiliza o que há de mais moderno no ecossistema JavaScript:
- Node.js - Ambiente de execução JavaScript.
- TypeScript - Tipagem estática para maior segurança.
- Express 5 - Framework web rápido e minimalista.
- Helmet - Segurança reforçada através de headers HTTP.
- Morgan - Logger de requisições HTTP.
- Cors - Configuração de segurança para acesso cross-origin.
Antes de começar, você vai precisar ter instalado em sua máquina:
- Node.js (v18 ou superior recomendado)
- NPM (Node Package Manager). Obs: O NPM é instalado junto com o NodeJS de forma automática.
Para conseguir iniciar o servidor de banco de dados PostgreSQL localmente de forma fácil e rápida e se conectar com a aplicação de forma facilitada, instale o Docker:
1. Instale o Node.js no link:
2. Após instalar o Node.js, instale o compilador do typescript através do comando:
npm install -g typescript1. Instale o Docker Desktop no link:
https://docs.docker.com/desktop/setup/install/windows-install/
Siga o passo a passo abaixo para colocar a API no ar:
git clone https://github.com/seu-usuario/agrofy-api.git
cd agrofy-apinpm install3. Acesse o drive da turma e faça o download das variáveis de ambiente (".env" e ".env.development").
Essas variáveis carregam dados de acesso confidenciais, que não devem ser expostos em qualquer lugar ou armazenados em computadores públicos.
4. Copie e cole essas variáveis de ambiente para dentro da raíz do projeto agrofy-api, como demonstra a imagem abaixo:
npx prisma generatenpm run prod1. Para rodar a aplicação em desenvolvimento é necessário ter um servidor de banco de dados PostgreSQL rodando. Para isso, após ter instalado o Docker Desktop, basta executar o seguinte comando:
docker-compose upObs: Esse comando sobe o container listado no arquivo "docker-compose.yml", criando o servidor de banco de dados com as informações de acesso exatas listadas no arquivo ".env.development", tornando a conexão da aplicação com o banco de dados simples e direta.
2. Em seguida, com o servidor de banco de dados PostgreSQL rodando, execute o comando para criar as tabelas:
npm run migrate:devnpm run seed:devnpm run dev| Método | Endpoint | Descrição |
|---|---|---|
GET |
/users/:id |
Retorna os detalhes de um usuário específico |
images/ # Imagens utilizadas pelo README.md
prisma/ # Armazena algumas informações do ORM Prisma, que acessa o banco de dados
src/ # Armazena o código da aplicação
├── controllers/ # Lógica de controle das rotas
├── lib/ # Arquivos compartilháveis pela aplicação
├── models/ # Definições de dados (Interfaces/Types)
├── repositories/ # Acesso a dados e persistência
├── routers/ # Definição das rotas da API
├── app.ts # Configuração do Express
└── server.ts # Inicialização do servidor
docker-compose.yml # Código para inicialização de containers Docker
LICENSE # Controla a licença do aplicativo
package.lock.json # Armazena dependências do projeto
package.json # Armazena dependências e configurações do projeto
prisma.config.ts # Armazena a configuração do Prisma ORM
README.md # Essa documentação
tsconfig.json # Armazena as configurações do Typescript na aplicação
- Faça um Fork do projeto.
- Crie uma nova Branch com sua feature (
git checkout -b feature/MinhaFeature). - Faça Commit das suas alterações (
git commit -m 'Adicionando nova feature'). - Faça Push para a Branch (
git push origin feature/MinhaFeature). - Abra um Pull Request.
Este projeto está sob a licença ISC.
Feito com ❤️ pela equipe Agrofy 🌿
