Todo o código do Code For Floripa é open source e qualquer um pode contribuir.
Se você tem alguma ideia ou encontrou algum bug, mas não sabe programar, crie uma issue.
Se você quer contribuir colocando a mão na massa, mas ainda não sabe programar, preparamos uma lista de recursos interessantes, além de alguns tutorias simples
- Instale o Node Version Manager
- Instale a última versão do node 5.x
- Instale ionic:
npm install -g ionic
- Acesse O site do repositório
- Clique em
forkpara criar um fork do repositório para o seu usuário - Clone seu projeto
git clone https://github.com/**SEUUSUARIO**/dicionariomanezes.git - Entre na pasta para onde o projeto foi clonado:
cd dicionariomanezes - Adicione como o repositório original como
upstream, para que possamos manter sincronia entre eles:git remote add upstream https://github.com/CodeForFloripa/dicionariomanezes.git cd appnpm install -g ionic gulp bowernpm installbower install- Se quiser rodar no device:
ionic run android --device - Se quiser rodar no emulardor:
ionic emulate android
Como o banco de dados roda no device, por enquanto não é possível rodar no browser. Isso deve ser corrigido via código.
Se após de rodar os comandos acima as mensagens ainda no aparecerem, tente usar o comando
ionic state reset, para atualizar os plugins.
Antes de submeter sua alteração para aprovação, é obrigatório sincronizar o seu repositório com o repositório original. Para isso, basta seguir os seguintes passos (Retirados daqui):
- Adicione a referência ao
upstream, como mostrado acima. - Atualize sua versão do repo original:
git fetch upstream - Selecione a sua branch development
git checkout dev - Sincronize
git merge upstream/dev
Nota: No desenvolvimento, usaremos apenas a branch development. A branch master contém a versão do aplicativo em produção.
Para manter consitência e qualidade do código, adotamos o uso de Pull-Requests. Após ter finalizado suas modificações, solucionado o problema de uma das issues e atualizado o seu repositório para que contenha todas as mudanças que ocorreram no master, você pode criar um Pull Request para que analizemos as modificações e adicionemos o código ao repositório:
- Acesse O site do repositório
- Clique em
Pull Request - Clique em
New Pull Request - Clique em
Compare Across Forks - Em
head fork, selecione o seu fork do projeto, e a branch dev - Clique em
Create Pull Request - Nos comentários, identifique a qual issue esse pull request pertence (caso exista)
IMPORTANTE caso hajo conflito de merge, o PR não será analizado. É obrigatório sincronizar o seu fork com o repo original antes de criar o pull request.
No CodeForFloripa, dividimos as partes de nossa aplicação em 3 tipos: Services, Components e Pages.
- Services: Funcionalidades sem interface, que rodam no background (acesso ao banco de dados, lógica de negócios, servidor)
- Pages: Páginas da aplicação
- Components: Elementos da interface que compõem a página (um botão especial, uma lista, etc).
Cada um desses elementos fica localizado em sua pasta específica, dentro da pasta www. Ignore as outras pastas do projeto, a pasta www é a única pasta que importa para o desenvolvimento.
components: Pasta onde ficam localizados os componentes do app. Cada componente possui sua pasta separada, que inclui um javascript e possivelmente um html e um css.css: Ignore essa pasta (Leia abaixo)data: Pasta onde ficam os dados usados pela aplicação (json, csv, etc..)img: Imagens usadas no app. OBS: Caso a imagem seja utilizada apenas por um componente ou página, ela pode ser colocada na pasta desse componente ou página.pages: Diretório onde ficam as páginas do app. Assim como componentes, cada página possui sua pasta onde fica o seujs,html,csse talvez imagens.services: Diretório para os serviços. Cada serviço tem sua própria pasta.app.js: Arquivo root para nossa aplicação, que cria o app em si. Aqui definimos configurações globais para o app, bem como as rotas para as páginas.index.html: Página inicial da aplicação.ionic.app.css: Estilo raiz da aplicação. Aqui definimos estilos que afetam todo o app (paleta de cores por exemplo) e quais scss queremos incluir no css final.
IMPORTANTE
Nunca edite o conteúdo da pasta
css. Todos os estilos devem ser definidos em seus específicos arquivosscss. Os arquivos css serão gerados automaticamente.
Para manter consistência de código, estipulamos algumas regras:
- Programar usando variáveis em inglês.
- Seguir SEMPRE a estrutura definida acima.
- Use espaços, não TAB.
- Fonética dos verbetes
- Áudio dos verbetes
- Jogos
- Cartões de Memorização
- Categorização de verbetes
- Melhorias de design
- Sugestão de novos verbetes por parte de usuários
- Favoritar verbetes
- .....
