- Sobre o projeto
- Funcionalidades
- Tecnologias utilizadas
- Instruções para o back end
- Instruções para o front end
- Instruções para o mobile
- Interfaces da aplicação
FastFeet é uma aplicação desenvolvida para uma transportadora fictícia. Ele permite gerenciar entregadores, destinatários, encomendas, relatar problemas nas entregas dentre outras funcionalidades. Além disso, realiza envio de e-mails para encomendas prontas para serem retiradas ou canceladas.
Você pode consultar a documentação do backend e verificar informações sobre os endpoints.
- Cadastro de Administradores
- Cadastro de Entregadores
- Retirada e Confirmação de entregas
- Upload e Delete de arquivos
- Cadastro de Encomendas
- Encomendas só podem ser retiradas entre 8h e 18h
- Cada entregador pode retirar até 5 encomendas por dia
- Cadastro de Problema nas entregas
- Cancelamento de Entregas
- ReactJS
- Node.js
- Postgres
- Redis
- Sequelize
- Styled-Components
- Redux/Sagas
- React Native (0.62.1)
- React Native Camera
- Nodemailer
- Multer
Para executar o projeto, você precisará, antes de tudo, clonar o repositório localmente na sua máquina
git clone https://github.com/AugustoMarcelo/fastfeet
# Acessar o back end
cd backend
# Acessar o front end
cd frontend
# Acessar o mobile
cd mobile
Você precisará ter instalado na sua máquina o Node.js, o Yarn e o Docker. Feitas as configurações, seguem os passos para executar o backend da aplicação:
-
Executar o comando
yarn
para fazer o dowload de todas as dependências necessárias para executar o projeto; -
Iremos instalar duas imagens de dois bancos de dados: Postgres, para armazenar nossas tabelas; e o Redis, um banco extremamente performático, que será utilizado para envio de e-mails com filas. Abaixo, seguem os respectivos comandos para realizar o download:
# Cria um container com a imagem do postgres docker run --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres # Cria um container com a imagem do redis docker run --name redis -p 6379:6379 -d -t redis:alpine
-
Execute
yarn queue
para que a fila de processamento de emails esteja funcionando. -
Execute as
migrations
para que as tabelas sejam criadas:yarn sequelize db:migrate
-
Se quiser, também pode gerar alguns dados, como usuário administrador e planos, executando os
seeds
:yarn sequelize db:seed:all
Com isso, você terá um usuário administrador com email [email protected] e a senha 123456 para fazer autenticação.
-
Na raiz do projeto, crie um arquivo
.env
e preencha as informações de acordo com o modelo.env.example
; -
Após isso, execute
yarn dev
para que o backend esteja funcionando.
-
Executar o comando
yarn
para fazer o download de todas as dependências necessárias para executar o projeto; -
Feitos os downloads de todas as dependências, execute
yarn start
para inicilizar o frontend da aplicação;
O projeto teve seu desenvolvimento focado em dispositivos ANDROID.
-
Executar o comando
yarn
para fazer o download de todas as dependências necessárias para executar o projeto; -
Feitos os downloads de todas as dependências, execute
yarn android
, caso seja a primeira execução, ouyarn start
para inicializar o aplicativo;
Página de Login
Página de listagem de encomendas
Página de criação/edição de entrega
Modal de visualização de encomenda
Página de listagem de entregadores
Página de criação/edição de entregador
Página de listagem de problemas
Página de listagem de destinatários
Página de criação/edição de destinatário
Modal para confirmação de remoção de registro