CocoaHeads é um grupo formado por desenvolvedores (profissionais e iniciantes), que se organizam para reunir pessoas com a mesma paixão: Programação para os iDevices da Apple (OSX e iOS). Nossos encontros são informais e servem para juntar pessoas que gostam do mesmo assunto que você [programação! :) ]. Promovemos Talks e Palestras dadas por membros do grupo local ou de convidados especiais. Estamos também presentes no Slack, http://iosdevbr.herokuapp.com, onde temos diversas iniciativas como a criação do aplicativo da comunidade, área de #code-help, uma sessão para divulgação de empregos no canal #jobs, falamos também sobre #design e #ux de aplicações além de ter o podcast da comunidade!
./setup.sh
Usamos um storyboard Main.storyboard para definir o fluxo do app, porém o desenvolvimento da tela não é feito diretamente no storyboard. Para desenvolver uma tela você deve:
Com isso, a view será renderizada corretamente no storyboard, mas sua edição será no arquivo Xib criado.
Devemos seguir alguns conceitos e princípios para separar a lógica de nossa funcionalidade:
Todos desenvolvedores iOS estão aptos a colaborar com essa iniciativa, basta seguir o workflow de contribuição.
Neste projeto, estamos usando o Github Flow integrado com o Forking Wokflow.
$ git clone git@github.com:<github_user>/CocoaHeadsApp.git
$ git pull origin master
upstream
remote $ git remote add upstream git@github.com:CocoaHeadsBrasil/CocoaHeadsApp.git
$ git fetch --all
$ git checkout -b cocoaheads/master upstream/master
master
do seu fork e crie um novo branch
com a sua feature $ git checkout master; git checkout -b feature_name
$ git fetch --all
master
do projeto original $ git checkout cocoaheads/master; git pull upstream master
Rebase
seu branch master $ git checkout master; git rebase cocoaheads/master
Push
seu branch master para seu fork $ git push origin master
Caso necessário (uma vez que o histório do git é remodelo no rebase
), você pode forçar a atualização
$ git push -f origin master
Rebase
o branch da sua feature $ git checkout feature_name; git rebase master
Push
o branch da sua feature para seu fork $ git push origin feature_name
Caso necessário (uma vez que o histório do git é remodelo no rebase
), você pode forçar a atualização
$ git push -f origin feature_name
Pull Request
Todo o desenvolvimento do app está concentrado no github. Portanto, para gerenciá-lo, usamos issues, labels e milestones.
Workflow
in review
. Assim, os participantes do projeto podem conversar a respeito e colaborar com a proposta.Declined
) ou transformada em item do backlog do projeto (Onboard
).issues
em onboard
podem começar a serem desenvolvidas (In progress
).Waiting PR review
).In PR review
).Delivered
).Progresso
In review
: Propostas que estão abertas para discussão se será implementado ou nãoDeclined
: Dado as conversas na issue, a funcionalidade/refatoração foi negada (e a issue é fechada).Onboard
: Proposta que foi "aceita" e pode entrar em uma das milestones do projeto. Nesse ponto, a conversação na issue é bloqueadaIn progess
: Issue que está em desenvolvimento por 1 ou mais pessoas (que devem ser associadas à issue)Waiting PR review
: Uma indicação de que o issue foi finalizada e precisa passar por review de PR.In PR review
: O PR está sendo avaliado por 1 ou mais pessoasDelivered
: PR foi aceito (e a issue é fechada)Informativo
Code base enhancement
: Propostas que visam uma melhor implementação ou estrutura de códigoProduct enhancement
: Propostas de novas funcionalidades para o produtobug
: Informar bugs no códigoci
: Propostas de novas funções ou melhorias no sistema de C.I.docs
: Adição ou melhoria na documentaçãoquestion
: Questões sobre o projeoeasy
: Proposta considerada de fácil implementaçãomedium
: Proposta com dificuldade médiahard
: Proposta de implementação complexaO projeto, hoje, possui os seguintes milestones:
Integrar API
: Integrar a API railsVersão de teste
: Uma primeira versão do aplicativo, algo que pode ser disponibilizado para beta testers (não precisa ter 100% das funcionalidades)1.0
: Coisas que queremos que sejam válidas para uma versão 1.0Distribuição
: Issues relacionadas à distribuição do app (caso seje relevante)O crescimento do número de chapters em inúmeras cidades se fez a necessidade de ter um local onde pudessemos ver e organizar tantos eventos. Assim surgiu a ideia de fazermos o aplicativo do CocoaHeads Brasil com a presença de todos os eventos. A visualização destes além das informações mais detalhadas, além de apresentar a lista de participantes por evento, sorteios e muito mais.