Loading repository data…
Loading repository data…
reno / repository
Projeto final da disciplina GCC188 - Engenharia de Software
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
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.
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__.py código de inicialização do pacote.forms.py guarda as definições dos formulários utilizados.models.py contém as definições das tabelas do banco de dados.tables.py guarda definições de tabelas usadas na renderização do resultado de consultas.views.py controla as rotas da aplicação.templates/ contém todos os arquivos HTML utilizados.tests/ código de testes unitários.app.py código que instancia a aplicação.config.py guarda configurações de diferentes ambientes, como desenvolvimento e testes.create_db.py script de inicialização do banco de dados no ambiente de desenvolvimento.teste_funcional.py có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 sqlite3 e apt-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 comando flask test.
Testes funcionais
Para executar os testes funcionais, na pasta da aplicação, execute o comando python teste_funcional.py