https://github.com/emanuelangelo/msupply-chain-app
Registro de mercadorias.
https://github.com/emanuelangelo/msupply-chain-app
flask flask-api python
Last synced: 2 months ago
JSON representation
Registro de mercadorias.
- Host: GitHub
- URL: https://github.com/emanuelangelo/msupply-chain-app
- Owner: EmanuelAngelo
- Created: 2025-02-26T15:04:19.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-26T19:20:42.000Z (over 1 year ago)
- Last Synced: 2025-02-26T20:27:24.962Z (over 1 year ago)
- Topics: flask, flask-api, python
- Language: Python
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🚀 MStarSupply - Sistema de Gestão de Mercadorias
Bem-vindo ao **MStarSupply**, um sistema completo para gerenciamento de mercadorias, entradas e saídas! Este projeto foi desenvolvido utilizando **Flask** no backend e **React.js** no frontend, garantindo uma aplicação robusta e moderna. 🏗️✨
## 📌 Tecnologias Utilizadas
### 🔹 Backend (API)
- **Python 3.12** + **Flask** (Servidor web)
- **Flask-SQLAlchemy** (Banco de dados com ORM)
- **Flask-Migrate** (Migrações de banco)
- **SQLite** (Banco de dados leve e embutido)
- **Flask-CORS** (Comunicação com o frontend)
- **Flask-Marshmallow** (Validação de dados)
### 🔹 Frontend (Interface do Usuário)
- **React.js** (Framework frontend)
- **Axios** (Requisições HTTP para comunicação com o backend)
- **React Router** (Navegação entre páginas)
- **Tailwind CSS / Material-UI** (Estilização)
- **Chart.js / Recharts** (Gráficos interativos)
## 🏗️ Estrutura do Projeto
```
/msupply-chain-app
│── backend/ # API Flask (gerenciamento de mercadorias, entradas e saídas)
│── frontend/ # Interface do usuário React.js
│── README.md # Documentação geral
```
## 🔄 Funcionalidades Principais
✅ Cadastro e listagem de mercadorias 📦
✅ Registro de entradas e saídas 📊
✅ Dashboard com gráficos 📈
✅ Exportação de relatórios 📑
✅ Interface responsiva e intuitiva 💻
## 🏁 Como Rodar o Projeto
### 🔹 Backend (Flask API)
```bash
cd backend
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
pip install -r requirements.txt
flask db upgrade
flask run
```
API disponível em: `http://127.0.0.1:5000/`
### 🔹 Frontend (React.js UI)
```bash
cd frontend
npm install
npm start
```
Aplicação disponível em: `http://localhost:3000/`
---
# 🐳 Docker - MStarSupply
Este projeto utiliza **Docker** para facilitar o deploy e a execução dos serviços do backend e frontend. Com apenas alguns comandos, você pode rodar toda a aplicação em containers isolados. 🚀
## 📌 Pré-requisitos
Certifique-se de ter o **Docker** e o **Docker Compose** instalados:
🔹 [Instalar Docker](https://docs.docker.com/get-docker/)
🔹 [Instalar Docker Compose](https://docs.docker.com/compose/install/)
Para verificar se está tudo instalado corretamente, execute:
```bash
docker --version
docker-compose --version
```
## 🚀 Como Inicializar a Aplicação com Docker
1️⃣ **Clone o repositório**:
```bash
git clone https://github.com/seu-repositorio/msupply-chain-app.git
cd msupply-chain-app
```
2️⃣ **Construa e inicie os containers**:
```bash
docker-compose up --build
```
Isso irá:
- Criar e subir o backend em Flask na porta **5000**
- Criar e subir o frontend React.js na porta **3000**
3️⃣ **Acesse a aplicação**:
- 🌍 **Frontend:** `http://localhost:3000/`
- 🔗 **Backend API:** `http://localhost:5000/`
## 🔄 Comandos Úteis
🛑 **Parar os containers**:
```bash
docker-compose down
```
♻️ **Reiniciar os containers**:
```bash
docker-compose restart
```
📜 **Ver logs dos containers**:
```bash
docker-compose logs -f
```
## 📦 Estrutura dos Containers
### **Backend (Flask API)**
Arquivo: `backend/Dockerfile`
- Usa **Python 3.9-slim**
- Instala dependências do `requirements.txt`
- Expõe a porta **5000**
- Comando de execução: `flask run --host=0.0.0.0`
### **Frontend (React.js)**
Arquivo: `frontend/Dockerfile`
- Usa **Node 18-alpine** para construir o projeto
- Instala dependências e gera o **build**
- Usa **Nginx** para servir os arquivos estáticos
- Expõe a porta **80**
## 🎯 Conclusão
Agora seu ambiente Docker está pronto! Sempre que precisar rodar o projeto, basta executar:
```bash
docker-compose up
```
## 📜 Licença
Este projeto é de código aberto e pode ser utilizado livremente. 📄
🚀 **Desenvolvido por Emanuel**