Este repositório contém um modelo de aplicativo web full stack que é executado na pilha de soluções FARM, que significa:
A pilha FARM é mais ou menos uma extensão da pilha LAMP com estas mudanças notáveis:
Flask é usado para escrever APIs/middleware da web que podem se comunicar entre a UI da web e o backend/banco de dados da web. Este é o núcleo de todo o aplicativo que une as partes do aplicativo full stack.
Observe que este modelo específico não usa um ORM e, em vez disso, usa o módulo pymysql
. Isso significa que os desenvolvedores precisam escrever consultas SQL, mas podem maximizar a complexidade das consultas necessárias para executar no banco de dados.
AWS é o serviço de nuvem no qual o aplicativo pode ser hospedado. Podemos hospedar toda a pilha de software nos seguintes serviços:
Isso significa que os desenvolvedores podem manter tudo em uma plataforma e minimizar o trabalho de DevOps/TI.
React é a estrutura na qual a UI da web é executada. A aplicação React também pode ser executada em AWS Lambda com NodeJS.
Este modelo usa JavaScript/JSX, mas TypeScript também pode ser usado.
MySQL é o banco de dados relacional que o backend da web usa. Também pode ser hospedado na AWS por meio de seu serviço RDS.
Para executar este aplicativo da web, o seguinte precisa ser feito:
db/
Para configurar a instância MySQL, siga estas etapas:
mysql
na interface de linha de comando do Linux.sample.sql
na instância. Ele criará um esquema chamado SampleInventory
e, em seguida, inicializará uma tabela chamada Inventory
. A base de código para a API Flask pode ser encontrada no diretório api/
.
virtualenv farm-stack
depois de navegar até esse diretório.source farm-stack/bin/activate
api/
e execute pip3 install -r requirements.txt
para instalar todos os módulos Python necessários para a API.dbcreds.py
no diretório api/
e edite as credenciais do banco de dados conforme necessário. python3 app.py
para executar a API em http://localhost:8080
. A base de código para a UI do React pode ser encontrada no diretório ui/
. Este modelo usa yarn
como gerenciador de pacotes; é crucial que os desenvolvedores não misturem outros gerenciadores de pacotes como npm
ao adicionar novos módulos.
Observe que pacotes como react-bootstrap
estão faltando neste modelo.
yarn install
para instalar todas as dependências necessárias. yarn start
para executar no modo de desenvolvimento.http://localhost:3000
no navegador.