Tecnologias e Ambiente de Desenvolvimento
Este sistema foi desenvolvido utilizando a linguagem Python, com MySQL como banco de dados, e os frameworks Django ou Flask. O Django é um framwork de desenvolvimento web baseado em MVC, conhecido por sua robustez, escalabilidade e reutilização de código.
- Linguagem de Desenvolvimento: Python
- Frameworks: Django ou Flask
- Versão do Python: 3.7 ou superiro
- Banco de Dados: MySQL
- Ferramenta de Banco de Dados: Navicat
- IDE: PyCharm
- Navegador: Google Chrome
Visão Geral do Sistema
O Sistema de Gestão de Medicamentos Herbais Chineses é uma solução integrada projetada para atender às necessidades específicas do setor de medicamentos herbais. Ele centraliza operações como compras, estoque e vendas, proporcionando controle preciso sobre todo o ciclo de vida dos produtos. Através de tecnologias de informação avançadas, o sistema otimiza a eficiência gerencial, reduz custos e minimiza desperdícios. Além disso, incorpora funcionalidades de análise de dados para auxiliar na compreensão de tendências de mercado e na formulação de estratégias comerciais.
O desenvolvimento segue princípios de engenharia de software, desde a definição de requisitos até testes e manutenção. A arquitetura modular permite simplificar a complexidade, dividindo o sistema em módulos funcionais independentes, o que facilita testes, depuração e manutenção contínua.
Funcionalidades do Sistema
O sistema atende a dois perfis de usuários: administradores e colaboradores. As principais funcionalidades incluem:
- Gerenciamento de Perfil Pessoal
- Administração de Colaboradores
- Gestão de Fornecedores
- Controle de Informações de Clientes
- Classificação de Tipos de Medicamentos Herbais
- Cadastro e Monitoramento de Medicamentos
- Registros de Saída e Entrada de Estoques
- Administração de Vendas e Compras
- Configurações do Sistema
Projeto e Implementação
O design do banco de dados abrange tabelas para informações de usuários, detalhes de produtos, pedidos e transações, com relacionamentos bem definidos. A arquitetura do sistema integra um front-end construído com Vue.js para interfaces responsivas, e um back-end baseado em Python com Django ou Flask, garantindo uma separação clara entre apresentação e lógica de negócios.
A abordagem de design orientada a objetos encapsula dados e operações em classes, proporcionando um modelo realista e eficiente. A experiência do usuário é priorizada através de interfaces intuitivas e fluxos de trabalho simplificados.
Exemplos de Código
Código Principal com Flask
import os
from flask import Blueprint
from utilitarios.verificacao_arquivo_py import verificar_arquivo_py
bp_principal = Blueprint('principal', __name__, static_folder='estatico')
string_importacao = 'from . import '
conjunto_visoes = set()
lista_excluidos = ["__init__.py"]
diretorio = os.path.join(os.getcwd(), "api/principal")
diretorio = diretorio.replace("teste_unitario/", '') if "teste_unitario/" in diretorio else diretorio
for arquivo in os.listdir(diretorio):
if arquivo not in lista_excluidos and verificar_arquivo_py(arquivo):
nome_modulo = arquivo.split(".", 1)[0]
conjunto_visoes.add(nome_modulo)
string_importacao += ','.join(conjunto_visoes)
exec(string_importacao)
Exemplo de Autenticação com Django
# coding:utf-8
from django.http import JsonResponse
from .modelo_usuarios import Usuarios
from utilitarios.codigos import *
from utilitarios.autenticacao import Autenticacao
import utilitarios.mensagem as msg
def login_usuario(request):
if request.method in ["POST", "GET"]:
resposta = {'codigo': codigo_normal, "mensagem": msg.mensagem_normal}
dados_req = request.session.get("dados_req")
if dados_req.get('papel') is not None:
del dados_req['papel']
lista_usuarios = Usuarios.obter_por_parametros(Usuarios, Usuarios, dados_req)
if not lista_usuarios:
resposta['codigo'] = codigo_erro_senha
resposta['mensagem'] = msg.mensagem_erro_senha
return JsonResponse(resposta)
dados_req['identificador'] = lista_usuarios[0].get('identificador')
return Autenticacao.autenticar(Autenticacao, Usuarios, dados_req)
def registrar_usuario(request):
if request.method in ["POST", "GET"]:
resposta = {'codigo': codigo_normal, "mensagem": msg.mensagem_normal}
dados_req = request.session.get("dados_req")
erro = Usuarios.criar_por_requisicao(Usuarios, Usuarios, dados_req)
if erro is not None:
resposta['codigo'] = codigo_erro_operacao
resposta['mensagem'] = erro
return JsonResponse(resposta)
Aálise de Viabilidade e Desempenho
A viabilidade técnica é sustentada pelo uso de Django e Flask, frameworks open-source que simplificam o desenvolvimento web. O MySQL oferece confiabilidade e desempenho adequados para a gestão de dados. Em termos de desempenho, o sistema incorpora técnicas como CDN e otimização de consultas para garantir respostas rápidas sob alta carga.
A segurança é reforçada com camadas de proteção, incluindo autenticação robusta, criptografia de dados e monitoramento de logs. Aspectos de confiabilidade incluem estratégias de backup e balanceamento de carga para manter a continuidade dos serviços.
Ferramentas e Configuração
Para implantar o sistema, configure o banco de dados MySQL usando ferramentas como Navicat, importe os schemas SQL fornecidos e ajuste as configurações no arquivo de projeto. Execute o ambiente Python 3.7 ou superior no PyCharm, garantindo que todas as dependências estejam instaladas. O acesso é feito via navegador no endereço local correspondente.