Esse era um projeto que comecei para utilizar apenas para mim e minha família 🧑🏻👩🏾👦🏻, e decidi transformar em algo em que mais familias possam utilizar.
Eu identifiquei que mais familias também iriam gostar de ter um timeline do que os seus filhos falavam, e como falavam, e como foi a progressão de cada palavra.
E poder acompanhar isso no futuro (infelizmente e felizmente bem próximo) é mágico 🪄.
WUxOsBI.-.Imgur.mp4
Clone o projeto
git clone https://github.com/Ddiidev/BabyDicionario
Entre no diretório do projeto e rode mais esse comando para clonar os submodules
cd BabyDicionario
git submodule update --init --recursive --rebase --force
Note
Se estiver utilizando windows/linux/mac lembre-se de ter instalado o node e npm previamente. Indico utilizar o nvm para instalar uma versão mais recente do node.
Instale as dependências para o front-end
cd Front-BabyDicionario/
npm install
Inicie a aplicação
npm run dev
Precisamos baixar o compilador e algumas bibliotecas.
Abra um terminal como ADM
cd Back-BabyDicionario\
git clone https://github.com/vlang/v
cd v\
make
v symlink
Como é um processo um pouco mais extenso de acordo com o OS que esteja utilizando, vou deixar que a própria documentação do Vlang, lhe guie...
Para Sqlite: https://modules.vlang.io/db.sqlite.html
Para Postgresql: https://modules.vlang.io/db.pg.html
É necessário ambos estarem devidamente instalados, mesmo que esse readm esteja focado no sqlite.
Note
Importante lembrar que se caso estiver no windows, deve ser copiado os seguintes arquivos para a pasta Back-BabyDicionario/
- libcrypto-3-x64.dll
- libintl-9.dll
- libpq.dll
- libssl-3-x64.dll
v install
v install https://github.com/Ddiidev/jwt
Abaixo um exemplo de como deve configurar as variáveis de ambiente em seu OS. Estou dando um exemplo com o brevo, mas poderia usar outra, não recomento gmail por ser muito restritivo.
BABYDI_SMTP_SERVER=smtp-relay.brevo.com
BABYDI_SMTP_SERVER_PORT=587
BABYDI_SMTP_USERNAME=MY USERNAME FROM LOGIN ON BREVO
BABYDI_SMTP_PASSWORD=MY PASSWORD FROM LOGIN ON BREVO
BABYDI_SMTP_EMAIL_FROM=MY EMAIL SENDER ON BREVO
BABYDI_PATH_DB=E:\BabyDicionario\Back-BabyDicionario\db_local\dbaby.sqlite
v -d dev run .
Resultado:
> v -d dev run .
[Vweb] Running app on http://localhost:3035/
Note
É necessário já ter o git e docker instalado.
A compilação não é feita dentro do container, tanto para o backend quanto o frontend, toda a compillção é feita fora, fiz isso pra tornar o pocesso mais rápido.
Na sua maquina host, execute:
sudo apt update && sudo apt upgrade
sudo apt install build-essential
Instalar biblioteca C para banco de dados sqlite e postgresql:
sudo apt install -y libsqlite3-dev
sudo apt-get install postgresql postgresql-client
sudo systemctl enable postgresql # to autostart on startup
sudo systemctl start postgresql
Vamos clonar o compilador:
git clone https://github.com/vlang/v
cd v
make
sudo ./v symlink
Vamos comoeçar o processo de build e execução do container, execute o build.sh
sudo sh ./build.sh
Deve começar a instalar as dependências do projeto backend e buildar para produção.
Vai instalar o nvm e node do projeto do frontend e buildar para produção.
Note
Talvez seja necessário ajustar seu arquivo host com o ip apontado corretamente. (Não tenho certeza!)
localhost app.dicionariodobebe.fun
localhost api.dicionariodobebe.fun