Neste repositório será criado um pequeno projeto, utilizando Python, Flask e Javascript de um website de microblogging.
Este projeto será baseado no tutorial criado por Miguel Grinberg e será realizado em conjunto pelos bolsistas do projeto Dataviva, 2023.
Primeiramente, para rodar o site, caso você não queira instalar os requisitos diretamente em sua máquina, existe a possibilidade de utilizar um ambiente virtual ("venv") que possibilita a execução desses. Para utilizá-lo, deve-se aplicar os seguintes passos:
-
Inicialmente, deve-se clonar este repositório
git clone https://github.com/rafaelsmedina/dataviva-training.git -
Definindo a utilização do ambiente virtual e coloca seu nome como "venv"
python -m venv venv -
Ativando o venv na sua máquina
venv\Scripts\activatesource venv/bin/activate -
Instalando todos os requisitos/extensões utilizadas para rodar a aplicação
pip install -r requirements.txt -
Rodando o código fonte para possibilitar a visualização do site
flask run -
(Passo contingente) Se algum erro ocorrer em relação ao arquivo do banco de dados (app.db), efetue os seguintes passos: 1 - Exclua o arquivo app.db 2 - Exclua a pasta migrations (se ela existir) 3 - Abra o terminal e digite os seguintes comandos e depois tente rodar o projeto novamente:
flask db initflask db migrateflask db upgrade
As pastas no projeto foram organizadas da seguinte maneira:
app: toda a implementação de código do site app -> modules: arquivos .py auxiliares app -> templates: todos os layouts/templates do site em html + python
Dentro da pasta app, temos 4 arquivos e duas pastas chamadas "modules" e "templates". Dentre esses 4 arquivos, temos o init.py, que é responsável por realizar toda a parte de configuração e inicialização do site, o app.db, que é onde estão os dados dinâmicos necessários para o funcionamento da aplicação, o arquivo config.py, que contém as variáveis globais do projeto além de algumas configurações para as bibliotecas utilizadas, e, por último, o arquivo routes.py, que é o responsável por conter todas as rotas do nosso site e conectá-las aos seus respectivos layouts.
Dentro da pasta "modules", nós temos 4 arquivos que são responsáveis por conter as funções, formulários e classes para o correto funcionamento de todo o fluxo da aplicação. Já na pasta templates, temos diretórios que armazenam os respectivos arquivos HTML de cada página e componente do site.
Este projeto foi realizado por João Vitor Otoni, Kayque Siqueira, Marcos Pantuza, Rubens Castro e Samuel Santos como projeto inicial de nivelamento do time de desenvolvimento de 2023 do site "Dataviva".