AgroManager é uma aplicação para gerenciar produtores, fazendas e culturas. Ele permite cadastrar, editar e visualizar produtores e as fazendas associadas, bem como as culturas plantadas. O projeto utiliza uma arquitetura baseada em React.js para o frontend e Node.js com PostgreSQL no backend.
- Tecnologias Utilizadas
- Pré-requisitos
- Instalação
- Executando a Aplicação
- Estrutura do Projeto
- Rotas da API
- Licença
- Frontend: React.js, Material UI
- Backend: Node.js, Express.js
- Banco de Dados: PostgreSQL
- Outras: Chart.js para gráficos, Autocomplete e Select do Material UI, REST API
- Node.js (v14 ou superior)
- PostgreSQL (v12 ou superior)
- Git (opcional)
- Clone o repositório:
git clone https://github.com/isckosta/agromanager.git
cd agromanager- Instale as dependências do backend:
cd agromanager-api
pnpm install- Instale as dependências do frontend:
cd ../agromanager
pnpm install- Crie um container com um banco de dados no PostgreSQL e aplique as migrações:
docker run --name postgres_db -e POSTGRES_USER=root -e POSTGRES_PASSWORD=agro -e POSTGRES_DB=agromanager -p 5432:5432 -v pgdata:/var/lib/postgresql/data -d postgres:15- Crie um arquivo
.envno diretórioagromanager-apicom as seguintes variáveis de ambiente:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=agro
DB_NAME=agromanager
DB_PORT=5432- Inicie o servidor backend:
cd agromanager-api
node src/app.jsO backend estará disponível em http://localhost:3000.
- Inicie o frontend:
cd agromanager
pnpm start ou pnpm run devO frontend estará disponível em http://localhost:5173.
agromanager/
│
├── agromanager-api/ # Código do backend
│ ├── src/
│ │ ├── controllers/ # Controladores da API
│ │ ├── models/ # Modelos e consultas SQL
│ │ ├── routes/ # Rotas da API
│ └── app.js # Ponto de entrada do servidor Express
│ └── db.js # Configuração da conexão ao banco
│ └── .env # Variáveis de ambiente
│ └── package.json # Dependências do backend
│
├── agromanager/ # Código do frontend
│ ├── public/ # Arquivos públicos estáticos
│ ├── src/
│ │ ├── assets/ # CSS, imagens e outros recursos
│ ├── App.js # Componente principal da aplicação
│ └── package.json # Dependências do frontend
└── README.md # Documentação do projeto
- GET /api/produtores: Retorna todos os produtores cadastrados.
- GET /api/produtores/:id: Retorna um produtor pelo ID.
- POST /api/produtores: Cria um novo produtor.
- PUT /api/produtores/:id: Atualiza um produtor existente.
- DELETE /api/produtores/:id: Exclui um produtor.
- GET /api/culturas: Retorna todas as culturas cadastradas.
Este projeto está licenciado sob os termos da licença MIT.