Skip to content

A aplicação que iremos dar início ao desenvolvimento a partir de agora é um app para uma transportadora fictícia, o FastFeet.

Notifications You must be signed in to change notification settings

rodrigodiasf1984/bootcamp-fastfeet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoStack

FastFeet Projeto Final

Fastfeet

🚀 Sobre o desafio

Criar uma aplicação com Node js, React JS, React-Native.

Funcionalidades do Administrador:

  1. Gestão de entregadores Cadastrar, editar, eliminar entregadores na plataforma.

  2. Gestão de encomendas Cadastrar, editar, excluir, cancelar encomendas para os entregadores. Quando uma encomenda for cadastrada, o entregador deve receber um e-mail informando-o sobre a nova entrega atribuída ao mesmo. Quando uma encomenda for cancelada, o entregador deve receber um e-mail informando-o sobre o cancelamento.

  3. Gestão de destinatários Cadastrar, editar, eliminar destinatários na plataforma.

  4. Gestão de problemas Visualizar

Funcionalidades do entregador:

  1. Visualizar encomendas Para que o entregador possa visualizar suas encomendas, ele deverá informar apenas seu ID de cadastro (ID do entregador no banco de dados). Essa funcionalidade deve retornar as encomendas atribuídas a ele, que não estejam entregues ou canceladas; Permite também que ele liste apenas as encomendas que já foram entregues por ele, com base em seu ID de cadastro;

  2. Alterar status de encomendas Permite que o entregador insira uma data de retirada (start_date) e data de entrega (end_date) para as encomendas. O entregador só pode fazer 5 retiradas por dia. Para a funcionalidade de finalizar a entrega, permite o envio de uma imagem que irá preencher o campo signature_id da tabela de encomendas.

  3. Cadastrar problemas nas entregas Cadastrar, visualizar problemas referentes a entrega.

📝 Requerimentos

Programas necessários:

🗄️ Base de dados da aplicação

É necessário instalar docker versão desktop. Após a instalação, abre o docker desktop e depois execute os comandos a seguir no powershell do windows :

# Criar um container com a imagem do Redis
docker run --name redisfastfeet -p 6379:6379 -d -t redis:alpine

# Criar um container com a imagem do Postgres
docker run --name fastfeet -e POSTGRES_PASSWORD=fastfeet -p 5432:5432 -d postgres
(O login e senha serão: fastfeet)

# Inicie o Redis
docker start redisfastfeet

# Inicie o Postgres
docker start fastfeet

🖥 Iniciando a API REST

  1. Clonar o repositório com git clone https://github.com/rodrigodiasf1984/bootcamp-fastfeet.git
  2. Entre dentro da pasta do projeto com cd bootcamp-fastfeet/backend
  3. Instale todas as dependências com o comando yarn
  4. Criar a base de dados fastfeet no postbird
  5. Executar as migrations para criar a base de dados:
  6. yarn sequelize db:migrate
  7. É necessário criar o utilizador Admin execute o comando:
  8. yarn sequelize db:seed:all
  9. Para excutar a api execute o comando a seguir no terminal:
  10. yarn dev
  11. Para executar as filas execute no terminal
  12. yarn queue
  13. Para testar as rotas use a aplicação seguinte:
  14. https://insomnia.rest/

💻 Iniciando a plataforma web

  1. Abra um terminal entre na pasta cd bootcamp-fastfeet/frontend
  2. Instale todas as dependências com o comando yarn
  3. Para inicializar a plataforma execute o comando:
  4. yarn start
  5. Uma nova aba do navegador abrirá url http://localhost:3000
  6. Efetue o login na plataforma: Use estes dados para realizar login na aplicação:
    Email: [email protected]
    Senha: 123456

📱 Iniciando o app mobile(Android)

  1. Abra o Android studio
  2. Abra o AVD Manager
  3. Inicie o emulador
  4. Abra o terminal na pasta cd bootcamp-fastfeet/mobile e execute:
  5. Instale todas as dependências com o comando yarn
  6. adb reverse tcp:9090 tcp:9090 (Reactotron)
  7. adb reverse tcp:3333 tcp:3333
  8. react-native run-android para instalar o app no emulador
  9. Faça o login com o ID do entregador

🔨 Ferramentas utilizadas

  • ⚛️ React-native - É uma Biblioteca JavaScript para criar mobile Apps
  • ⚛️ ReactJs - É uma Biblioteca Javascript para criar interfaces de usuário.
  • ⚛️ React-native-camera - É uma Biblioteca JavaScript para usar a camera.
  • 💅 Styled Components - É uma Biblioteca Javascript pra estilizar componentes.
  • 📄 Axios - É uma Biblioteca Javascript para fazer requisições http
  • 📄 ESLint - É uma Biblioteca Javascript para procurar e resolver problemas de identaçãô e outros no código
  • 📄 Redux - É um controlador de estados gerais da aplicação.
  • 📄 Redux-saga - É Biblioteca que foca em fazer os efeitos colaterais(ex: chamadas assíncronas).
  • 📄 react-native-tiny-toast - É Biblioteca para criar toasts nativos para o mobile.
  • 📄 react-toastify - É Biblioteca para criar toasts para web.
  • 📄 Immer - É Biblioteca para alterar estados usando draft(rascunho).
  • 📄 React Navigation V5 - Permite trabalhar com rotas e navegação no react-native.

📷 Demonstração

FastFeet

👍 Obrigado a todos, que de alguma forma direta ou indireta contribuíram na realização deste projeto!

About

A aplicação que iremos dar início ao desenvolvimento a partir de agora é um app para uma transportadora fictícia, o FastFeet.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published