Berry Bank: Criando um Banco Digital Gamificado para seus Filhos com Gentoo, Flask e Tailscale
Berry é a moeda do anime One Piece, um anime que meus filhos gostam. Aproveitando isso, resolvi criar um "banco virtual" para gerenciar os Berries deles.
Introdução
Como pais, ensinar o valor do dinheiro é uma tarefa importante. Inspirado no anime One Piece, decidi criar o Berry Bank. O objetivo era simples: um sistema onde eu (o "Governo Mundial/Pai") pudesse creditar ou debitar "Berries" ($B) baseando-me em tarefas domésticas e comportamento, e onde meus filhos pudessem consultar seus saldos em tablets e celulares.
Neste artigo, vou guiá-los na construção dessa solução usando um servidor caseiro Gentoo,
Nota: Apenas o Flask é necessário. O banco de dados SQLite já é nativo do Python.
Neste artigo, vou guiá-los na construção dessa solução usando um servidor caseiro Gentoo,
Python (Flask) para o backend, e Tailscale para resolver toda a complexidade de redes e acesso remoto seguro (HTTPS).
2. Preparando o Ambiente no Gentoo
Usei Gentoo, mas você pode fazerem outra distro sem problemas. Para este projeto, precisamos apenas doPython e de um ambiente virtual para manter nosso sistema limpo (sem poluir o @world do Portage).
2.1. Estrutura de Diretórios
Primeiro, vamos criar a "casa" do nosso projeto. No terminal do servidor:mkdir -p ~/berry_bank/static
mkdir -p ~/berry_bank/templates
cd ~/berry_bank
mkdir -p ~/berry_bank/templates
cd ~/berry_bank
- static/: onde guardaremos as imagens (Luffy, Zoro) e CSS.
- templates/: onde ficam os arquivos HTML do site.
- app.py: o cérebro do sistema.
- dados.db: o banco de dados (será criado automaticamente).
2.2. O Ambiente Virtual (venv)
É uma boa prática isolar as dependências Python.python -m venv venv
source venv/bin/activate
pip install flask
source venv/bin/activate
pip install flask
Nota: Apenas o Flask é necessário. O banco de dados SQLite já é nativo do Python.