Skip to content

IgorPereira1997/ProjetoBancodeDadosI

Repository files navigation

ProjetoBancodeDadosII

Este é um projeto desenvolvido para a Disciplina Banco de Dados II da Universidade Federal do Vale do São Francisco (UNIVASF) e traz o banco de dados de um e-commerce entre distribuidoras, classificadas como fornecedores, e seus clientes, que podem ser mercados, clientes finais, entre outros.

1 - Para fazer o uso e manipulação do projeto, faça o download e instalação do Docker:

1.1 - Instalção no Windows 
    
    1.1.1 - Baixe o instaldor através do link a seguir: https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe
    
    1.1.2 - [IMPORTANTE] Caso utilize Windows 10 ou acima, abra uma janela do terminal do windows (cmd, powershell ou Windows Terminal) e digite o seguinte comando, para instalar o Windows Subsystem for Linux (WSL) necessário para o Docker:
        wsl --install

    OBS.: [IMPORTANTE] Caso haja algum erro na inicialização do Ubuntu WSL, reinicie seu computador e entre na BIOS para fazer a habilitação da virtualização, através da opção Virtualization Technology (VT-X) para processadores Intel e Modo SVM para processadores AMD.
    
    1.1.3 - Diferentes versões do Windows [IMPORTANTE]

        1.1.3.1 Windows 10/11:
            
            Após isto, inicie o instalador do Docker e configure-o conforme pedido pelo executável, escolhendo Windows Subsystem For Linux (WSL) como tecnologia de virtualização.
        
        1.1.3.2 Windows 8.1 ou anterior:
             
             Após isto, inicie o instalador do Docker e configure-o conforme pedido pelo executável, escolhendo HyperV como tecnologia de virtualização.

    1.1.4 - Ao terminar, reinicie o computador e inicie o docker, aceitando as condições pedidas pelo inicializador do Docker para aceitar a EULA e usar o produto.

1.2 - Instalação no Linux (Exemplificado para Distros baseadas em Debian, mude o packet manager de acordo com a sua distribuição linux):

    1.2.1 - Abra uma janela do terminal e instale o pré requisito do Docker para a plataforma, através do seguinte comando:

        sudo apt update && sudo apt install gnome-terminal wget -y

    1.2.2 - Remover quaisquer resquícios de instalações anteriores do docker ou versões betas do mesmo, pelos comandos:

        sudo apt remove docker-desktop
        rm -r $HOME/.docker/desktop
        sudo rm /usr/local/bin/com.docker.cli
        sudo apt purge docker-desktop

    1.2.3 - Faça o download do docker e após isto, faça a instalação do mesmo, através dos comandos:

        wget https://desktop.docker.com/linux/main/amd64/docker-desktop-4.15.0-amd64.deb?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-linux-amd64

        sudo apt-get update && sudo apt-get install ./docker-desktop-4.15.0-amd64.deb -y

1.3 - Instalação no macOS:

    1.3.1 - Faça o download do Docker de acordo com o processador que utiliza (Intel ou Apple Silicon):

        Intel - https://desktop.docker.com/mac/main/amd64/Docker.dmg?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-mac-amd64

        Apple Silicon - https://desktop.docker.com/mac/main/arm64/Docker.dmg?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-mac-arm64

    1.3.2 - Instale o docker através dos seguintes comandos:

        sudo hdiutil attach Docker.dmg
        sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --accept-license --user=(id -un)
        sudo hdiutil detach /Volumes/Docker

2 - Crie os arquivos .env necessários para funcionamento dos containers docker, colocando os conteúdos descritos abaixo:

2.1 - .env.dev.db e .env.prod.db (coque as informações das base de dados de desenvolvimento e produção, de acordo com a necessidade). Para fins de teste, há um arquivo .env.db.example para rodar o projeto inicialmente, sem modificações:

    POSTGRES_USER=tr_vietna
    POSTGRES_PASSWORD=admin
    DATABASE_HOST=postgres
    DATABASE_PORT=5432

2.2 - .env.dev.pgadmin e .env.prod.pgadmin (coloque as informações do pgadmin conforme for adequado ao desenvolvimento e à produção). Para fins de teste, há um arquivo .env.pgadmin.example para rodar o projeto inicialmente, sem modificações:

    PGADMIN_DEFAULT_EMAIL: "[email protected]"
    PGADMIN_DEFAULT_PASSWORD: "admin"
    # 10=DEBUG,20=INFO,25=SQL,30=WARNING,40=ERROR
    PGADMIN_CONFIG_CONSOLE_LOG_LEVEL: 40

3 - [Exclusivo para Linux e macOS] Abra o terminal e vá ao diretório aonde baixou o projeto e rode os comandos abaixo, para resolução das permissões de todos os scripts presentes no projeto OBS.: Apenas sistemas UNIX rodam os comandos abaixo, ou seja, Linux ou macOS. Para Windows utilize o WSL:

chmod +x fix_permissions_scripts.sh
./fix_permissions_scripts.sh

4 - (Opcional) Caso tenha modificado os dados do banco de dados, como usuário e nome da base de dados na instrução acima, proceda da seguinte forma:

Altere as linhas 11 e 12 do arquivo feedDB.sh, colocando o nome de usuário escolhido na variável USER e após isto colocando o nome do banco de dados escolhido na variável DB, conforme exemplo abaixo.

    Linha 11 - USER=nome_do_usuario_escolhido_no_dev_ou_prod
    Linha 12 - DB=nome_do_banco_de_dados

5 - Altere o arquivo servers.json existente na pasta pgadmin_container com o usuário escolhido no arquivo .env.(dev/prod).db no parâmetro POSTGRES_USER, da seginte forma, sem o <>:

"Username": "<nome escolhido no POSTGRES_USER>",

6 - Com o docker instalado, para levantar o projeto, há duas alternativas, development (dev) e production (prod). Para levantar os containers do projeto, faça:

DEV:  docker compose -f docker-compose.yml up -d   
PROD: docker compose -f docker-compose.prod.yml up -d

7 - Para acessar o pgadmin4, acesse o link abaixo:

http://localhost:8081

8 - As informações para login do pgadmin são as descritas no arquivo .env.(dev/prod).pgadmin respectivamente por PGADMIN_DEFAULT_EMAIL e PGADMIN_DEFAULT_PASSWORD, e o acesso do servidor encontrado no pgadmin pode ser feito com o parâmetro POSTGRES_PASSWORD encontrado no arquivo .env.(dev/prod).db.

9 - Salvando arquivos do pgadmin, como diagrama entidade-relacionamento, backups, entre outros, pode ser encontrado na pasta postgres_container/storage/<PGADMIN_DEFAULT_EMAIL(@ trocado por _)>/, para facilitar acesso de quaisquer manipulações que tenham sido feitas. PGADMIN_DEFAULT_EMAIL é aquele definido no arquivo .env.(dev/prod).pgadmin.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published