Alunos: Renan Modenese e Gabriel Amorim
Projeto: Livraria do Amorim
Sistema de controle de vendas para livraria, incluindo base de dados de livros, vendedores, clientes e pedidos. A aplicação web utiliza a linguagem python e o microframework Flask, além de HTML, Bootstrap e Javascript para o front-end.
- v0.1: Documentação de requisitos e protótipo da interface.
- v1: Documentação de projeto incluindo diagramas de classes e de sequência, além da implementação da interface e operações sobre a tabela Livros.
- v2: Implementação das operações sobre as demais tabelas, atualização da documentação e implementação de testes.
O projeto é organizado conforme abaixo:
/projeto_eng_software/Aplicação/
├── livraria/
│ ├── __init__.py
│ ├── forms.py
│ ├── models.py
│ ├── tables.py
│ ├── views.py
│ └── templates/
├── tests/
├── app.py
├── config.py
├── create_db.py
├── teste_funcional.py
└── requirements.txt
Uma breve descrição de arquivos e pastas:
livraria/é o pacote que contém a aplicação.__init__.pycódigo de inicialização do pacote.forms.pyguarda as definições dos formulários utilizados.models.pycontém as definições das tabelas do banco de dados.tables.pyguarda definições de tabelas usadas na renderização do resultado de consultas.views.pycontrola as rotas da aplicação.templates/contém todos os arquivos HTML utilizados.tests/código de testes unitários.app.pycódigo que instancia a aplicação.config.pyguarda configurações de diferentes ambientes, como desenvolvimento e testes.create_db.pyscript de inicialização do banco de dados no ambiente de desenvolvimento.teste_funcional.pycódigo dos testes funcionais.
Ao realizar um commit, indique na mensagem o fechamento da issue relacionada (caso possua) usando Closes #1, com o número da Issue. Isso fechará o Issue automaticamente.
Em seguida, localize no backlog a issue fechada e inclua um comentário com o hash do commit.
-
Python 3.4+
Para instalar ou atualizar, no Linux, use:
sudo apt-get install python -
pip
Gerenciador de pacotes do python. Para instalar ou atualizar, no Linux, use:
sudo apt install python3-pip -
venv
No Ubuntu o gerenciador de ambiente virtual não é instalado por padrão. Para instalar, use:
sudo apt-get install python3-venv -
Banco de dados PostgreSQL ou SQLite
A aplicação é pré-configurada para o PostgreSQL no ambiente de desenvolvimento, e inclui as configurações para uso do SQLite. Instruções de instalação do PostgreSQL ser encontradas aqui.
Para instalar o SQLite, no Linux, basta utilizar os comandos
apt-get install sqlite3eapt-get install libsqlite3-dev. -
Chrome Webdriver
Driver necessário para a execução dos testes funcionais, disponível aqui. O executável deve ser inserido na pasta
venv/bin/.
1. Configuração do ambiente virtual
Faça o clone do repositório:
git clone https://github.com/reno/projeto_eng_software.git
Vá para a pasta da aplicação:
cd Aplicação
Crie um ambiente virtual:
python3 -m venv venv
Ative o ambiente virtual:
source venv/bin/activate
Instale as dependências no ambiente virtual:
pip install -r requirements.txt
2. Inicialização do banco de dados
Caso deseje inicializar o banco de dados, execute:
python create_db.py
As configurações do banco de dados estão localizadas no arquivo config.py.
3. Execução da aplicação
Finalmente, execute:
python app.py dev
A aplicação poderá ser acessada por um navegador no endereço http://localhost:5000
-
Testes unitários
Os testes unitários estão localizados na pasta
tests. Para executar os testes, na pasta da aplicação, execute o comandoflask test. -
Testes funcionais
Para executar os testes funcionais, na pasta da aplicação, execute o comando
python teste_funcional.py