ControlaPet é um Sistema de Gerenciamento de PetShops e Clinicas Veterinarias desenvolvido por:
- Bruno Lima dos Santos
- Isaque Felizardo
- Lucas Alves Siqueira
- Lucas Araujo de Oliveira
- Nayara de Paula Muniz
- Vitor Crepaldi Carlessi
git clone https://github.com/ControlaPet/controla_pet.git
-
master - Branch utilizado somente para funcionalidades já testadas e aprovadas pelo cliente
-
develop - Branch que consiste no desenvolvimento atual da equipe
-
features - Demais funcionalidades que estão sendo desenvolvidas
fonte: https://www.bitbull.it/blog/git-flow-come-funziona/gitflow-1.png
SEMPRE:
- Para novas funcionalidades utilize: feature/nome_da_func
- Para melhorias no codigo: bugfix/nome_da_correcao
Para visualizar todas as branches:
git branch -a
Utilize uma branch já existente:
git checkout <nome_da_branch>
Ou crie uma nova para a sua funcionalidade:
git checkout -b <nome_da_branch>
<Exemplo>
git checkout -b DBconnection
Certifique-se de que sua branch está atualizada:
git pull origin <nome_da_branch_mais_att>
<Exemplo>
git pull origin develop
Para trabalhar com o projeto ControlaPet, crie um arquivo chamado .env na raiz do diretorio, e adicione as credenciais fornecidas pela equipe de desenvolvimento.
Docker é uma tecnologia que fornece containers que isolam processos, com a ajuda do Docker Compose é possível orquestrar containers e subir aplicações complexas com poucos comandos.
Instalação do Docker no Windows: https://docs.docker.com/docker-for-windows/install/
Instalação do Docker Compose no Linux: https://docs.docker.com/compose/install/
Iniciando o projeto
Atualize o repositorio local
git pull origin develop
Para iniciar o projeto:
docker-compose up
Ao rodar o projeto, o mysql será iniciado e, logo após, a app migrará para o banco de dados e irá subir o servidor.
Makefile
Através do make, é possível executar instruções nomeadas e contidas em um arquivo conhecido como Makefile. Para executar um comando make digite:
make <comando_do_makefile>
Exemplo:
make clean
Comandos possíveis: clean - Limpa o repositorio local de todos os arquivos de cache
mysql-docker - Acessa o container do MYSQL
app-docker - Acessa o container da aplicação
docker-admin-group - Permissiona o docker colocando-o no grupo de admin do Linux
create-docker-network - Cria a network utilizada pelos containers
docker-clean - Apaga todas as imagens e containers do docker
container-dump-db - Popula o banco de dados
container-createsuperuser - Cria um super usuario no Django
container-drop-db - Derruba o banco de dados
container-create-db - Cria um novo banco de dados
Fluxo:
make container-drop-db
make container-create-db
docker-compose up mysql
docker-compose up app
make container-createsuperuser
Informações adicionais:
Para acessar containers utilize:
docker exec -it <container-name> bash
<Exemplo>
docker exec -it sys_controla_pet bash
Para derrubar containers:
docker-compose down
Não esqueça:
- Sem as credenciais (.env), o projeto não será iniciado
- Sem privilegios de administrador talvez algum erro seja exibido
- O MYSQL estará rodando na porta 3308, para evitar conflitos com a porta padrão do mysql local, portanto ao optar por softwares como Mysql Workbench utilize:
- Host: localhost
- Port: 3308
- User: root
- Password: (A mesma da credencial)
Obs: O MYSQL deve estar instalado.
Apaga todos os arquivos da pasta migrations, exceto init.py, de cada APP, em seguida execute o comando a seguir para identificar migrações:
python manage.py makemigrations
Em seguida, digite o comando abaixo para realizar as migrações para o banco de dados:
python manage.py migrate
Ao editar arquivos, digite o comando abaixo para identificar erros:
python manage.py check
Para criar um usuario que acesse a pagina administrativa utilize:
python manage.py createsuperuser
Para rodar o projeto digite:
python manage.py runserver
Por padrão o servidor é iniciado no endereço: http://localhost:8000/
Certifique-se novamente de que está utilizando a versão mais atual do cógido:
git pull origin <nome_da_branch_mais_att>
<Exemplo>
git pull origin develop
Para verificar o situação atual do repositório
git status
Se houver alterações a serem commitadas NÃO utilizar " git add .", digite:
git add <nome_do_arquivo_alterado>
Para commitar as alterações por favor digite uma MENSAGEM COERENTE com o que foi desenvolvido:
git commit -m "Mensagem Coerente"
<Exemplo>
git commit -m "Conexao com o Banco de Dados remoto"
Para subir suas alterações ao GitHub, digite:
git push origin <nome_da_sua_branch>
<Exemplo>
git push origin DBconnection
JAMAIS:
- Dê push direto no develop e master
- Utilize o develop/master como branch para desenvolver
- Digite mensagens em commits sem sentido
- Force um commit com conflitos