Giter Site home page Giter Site logo

caronaboard / caronaboard-native Goto Github PK

View Code? Open in Web Editor NEW
11.0 8.0 7.0 2.02 MB

CaronaBoard made with React Native

License: GNU General Public License v3.0

JavaScript 89.11% Python 1.17% Java 0.93% Objective-C 2.76% Ruby 6.03%
react-native firebase es6 react react-native-config react-native-navigation react-native-ui-kitten react-redux redux redux-thunk opensource enzyme jest standard danger es7 javascript flow flowtype

caronaboard-native's People

Contributors

eduardomoroni avatar ehkasper avatar henriquelbsouza avatar snyk-bot avatar taniadgv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

caronaboard-native's Issues

Why are we speaking english?

Hey folks, vocês não acham que deixar as conversas do nosso repositório todo em inglês pode dificultar a participação de pessoas que não são confiantes com seu inglês? Para nós que temos uma certa vivência é até tranquilo, mas se a nossa ideia é rodar um workshop e depois abrir para Open source. Não seria melhor falarmos em português?

Criar uma Carona Desejada

Carona Desejada - quando um passageiro proativamente cadastra sua carona desejada para que motoristas possam vê-la.

Cenário: "Não tenho carro e preciso de caronas"

Observação:

  • Estória não envolve criar tela parar isso, somente preparar a funcionalidade no firebase a na comunicação entre a app e o firebase.

Tela para registrar uma Carona Desejada

Dado que um passageiro deseja uma carona que não está sendo ofertada
Quando clicar em "Criar carona desejada"
Então deve poder registrar os dados da carona desejada

Depende da estória #41

Esqueci Minha Senha

Dado que o usuário inseriu o e-mail e esqueceu a senha
Quando clicar em "Esqueci minha senha" na tela de Login
Então deve receber um email com o link do firebase para trocar a senha e ser notificado na UI que o link foi enviado

Refatorarar UI

O kitten foi atualizado e precisamos corrigir as telas.

Escolha de grupo de caronas

Dado que existam múltiplos grupos de caronas
Quando o usuário entrar em seu perfil
Então poderá escolher qual grupo usar na app

Ao clicar deve ser criado um registro seguindo o padrão do caronabaord web que é:
image

Editar/Excluir Carona Ofertada

Dado que o motorista já tenha criado uma carona ofertada
Quando clicar nessa carona
Então deve ser capaz de editar e/ou excluir a carona ofertada

Editar perfil de usuário

Dado que um usuário está logado
Quando entrar na tela do seu perfil
Então deve poder editar os seus dados e Salvar

caronaboard_editar_perfil

What do you think about using real firebase for integration tests, instead of mocks?

When it comes to database, it's hard to ensure with mocking that your code actually works, mainly because it's a big chaing of function calls that you don't even ensure it works, since you're basically testing the mock.

Usually what fails when it comes to database are configurations, and configuration you can only test using the actual thing.

Here's how to setup firebase locally:
https://firebase.googleblog.com/2015/04/end-to-end-testing-with-firebase-server_16.html

Possiveis estórias para o workshop

  • Autenticação

    • Verificação de número de telefone.
    • Esqueci minha senha
    • Entrar/Sair de um grupo de caronas
  • Registro de Caronas

    • Editar/Excluir oferta de carona
    • Editar/Excluir pedido de carona
    • CRUD Pedir caronas que não existem
    • CRUD Caronas coletivas (Dividir taxis e afins)
  • Notificação

    • Push Notification para quem oferece carona quando alguém pede
    • Push Notification lembrete para a carona (para ambos)
    • Push Notification para sugerir carona em dias chuvosos
    • Opt-in email de sugestão de caronas para dias chuvosos
    • Opt-out das push notifications
  • UI

    • Criar estórias de UI para cada uma das sugestões acima, dando a opção da pessoa escolher se quer jogar UI junto ou deixar para outra pessoa fazer.
  • Aprimoramento

    • Tela inicial receber somente email, baseado nisso decidir se é um Sign in ou Sign up.

Tela de lista das caronas desejadas

Dado que um usuario acesse a app
Quando clicar em caronas desejadas
Então deve ser exibida a lista de caronas desejadas criadas pelos usuários

Dado que um passageiro esteja na tela de lista de caronas desejadas
Quando a tela exibir uma carona desejada criada por si
Então deve ser exibido um ícone que permita ao passageiro alterar a carona desejada

Dado que um passageiro esteja na tela de lista de caronas desejadas
Quando a tela exibir uma carona desejada criada por si e que tenha sido aceita por um motorista
Então o ícone de edição deve estar desabilitado

Depende da estória #41

Observações:

  • a princípio, cada item da lista de caronas desejadas terá todas as informações suficientes da carona e não será necessário criar uma tela de detalhes da carona.

Verificação de Número de Telefone no Perfil

Dado que um usuário esteja editando seu perfil e inserir/modificar o número de telefone
Quando clicar em "Salvar"
Então deve receber um SMS de confirmação do número com um código de confirmação

Dado que um usuário receba um SMS de confirmação de telefone
Quando inserir o código de confirmação na tela de confirmação
Então terá seu telefone verificado

Tela única para Login e Registro

O carobaboard web tem uma feature legal. Na tela de login é pedido somente o email da pessoa, caso a pessoa já tenha um email cadastro ela é direcionada para a tela de login. Caso a pessoa não tenha email cadastrado no carona board, ela é encaminhada para a tela de registro de novo usuário.

Injetar .env na build do BuddyBuild

Isolamos os segredos em um arquivo .env em #23. Precisamos descobrir como fazemos para injetar o arquivo .env no processo de build do BuddyBuild.
Atualmente geramos o APK no BuddyBuild e deployamos esse APK para o Appetize. Só que o APK ta sendo gerado sem as variavéis que deveriam estar contidas no .env, logo, o firebase não funciona.

Caso queira jogar esta história favor entrar em contato comigo para eu dar acesso ao BuddyBuild.

Entrar em contato com motorista

Dado que um passageiro escolhe uma carona ofertada
Quando clicar em salvar na tela de pedido de carona
Então deve poder falar com o motorista através do contato registrado (WhatsApp/Telegram)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.