Criar uma aplicação com Node js, React JS, React-Native.
-
Gestão de entregadores Cadastrar, editar, eliminar entregadores na plataforma.
-
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.
-
Gestão de destinatários Cadastrar, editar, eliminar destinatários na plataforma.
-
Gestão de problemas Visualizar
-
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;
-
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.
-
Cadastrar problemas nas entregas Cadastrar, visualizar problemas referentes a entrega.
Programas necessários:
É 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
- Clonar o repositório com
git clone https://github.com/rodrigodiasf1984/bootcamp-fastfeet.git
- Entre dentro da pasta do projeto com
cd bootcamp-fastfeet/backend
- Instale todas as dependências com o comando
yarn
- Criar a base de dados fastfeet no postbird
- Executar as migrations para criar a base de dados:
yarn sequelize db:migrate
- É necessário criar o utilizador Admin execute o comando:
yarn sequelize db:seed:all
- Para excutar a api execute o comando a seguir no terminal:
yarn dev
- Para executar as filas execute no terminal
yarn queue
- Para testar as rotas use a aplicação seguinte:
- https://insomnia.rest/
- Abra um terminal entre na pasta
cd bootcamp-fastfeet/frontend
- Instale todas as dependências com o comando
yarn
- Para inicializar a plataforma execute o comando:
yarn start
- Uma nova aba do navegador abrirá url http://localhost:3000
- Efetue o login na plataforma:
Use estes dados para realizar login na aplicação:
Email: [email protected]
Senha: 123456
- Abra o Android studio
- Abra o AVD Manager
- Inicie o emulador
- Abra o terminal na pasta
cd bootcamp-fastfeet/mobile
e execute: - Instale todas as dependências com o comando
yarn
- adb reverse tcp:9090 tcp:9090 (Reactotron)
- adb reverse tcp:3333 tcp:3333
react-native run-android
para instalar o app no emulador- Faça o login com o ID do entregador
- ⚛️ 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.