Aplicativo desenvolvido em React Native para agendamento de partidas online com amigos usando servidores do Discord como ponto de encontro. É possível agendar partidas, categorizar e escolher o servidor de encontro usando sua conta autenticada com a API do Discord.
Esse projeto foi criado com o objetivo de aplicar conhecimentos de React Native em uma aplicação mais robusta utilizando Typescript e se conectando a uma API externa. Além disso, foi possível explorar diversas bibliotecas para diferentes funcionalidades.
Esse projeto foi desenvolvido na Bootcamp da Rocketseat NLW Together. A ideia inicial do projeto e os assets utilizados foram disponibilizados pela equipe durante o evento. Você pode conferir mais detalhes no projeto Figma utilizado como base. Apesar de ser um projeto de bootcamp ele foi aprimorado com novas features e atualizado para as versões mais atuais das libs usadas.
- Autenticação e captura de dados com a Discord API
- Persistência de usuário autenticado
- Criação de Appointments para encontros nos servidores do Discord
- Listagem dos servidores em que sua conta faz parte
- Filtragem de compromissos criados por categoria
- Detalhamento dos compromissos criados
- Compartilhamento de compromissos (Quando permitido)
- Redirecionamento ao servidor do compromisso (Quando permitido)
- Listagem de membros online no servidor do compromisso (Quando permitido)
- Tratamento de erros de formulário e de API
- Logout
- Exibição de frases de efeito aleatórias na tela de Home
expo-app-loading
- Componente de Loadingexpo-vector-icons
- Pacote de iconesexpo-font
eexpo-google-fonts
- Lib's para importação e carregamento de fontsexpo-status-bar
- Componente de manipulação da status barexpo-linear-gradient
- Componente para criação de linear gradient'sexpo-auth-session
- Lib para autentição OAuth2react-native-svg-transformer
- Lib's para utilização de SVG's como componentesreact-native-iphone-x-helper
- Lib para capturar medidas do smartphonereact-nativation (v6)
- Lib para navegação do appreact-native-gesture-handler
- Pacote de componentes úteisreact-native-async-storage
- Lib para armazenamento de dados locaisreact-native-uuid
- Lib para geração de ID'saxios
- Lib para realizar requisições webdotenv
ebabel-plugin-inline-dotenv
- Lib para utilização de arquivos .env
📌 Pré requisitos:
- Tenha o repositório baixado em sua máquina.
- Tenha o NodeJS instalado em sua máquina.
- Tenha um virtual device Android ou iOS instalado em sua máquina.
- Tenha o Expo instalado em sua máquina.
🚩 Como Executar m um Vitual Device:
- Execute o seu virtual device.
- Abra um terminal no diretório do projeto e execute o comando
npm install
para instalar as dependências. - Execute o comando
expo start
para iniciar o Expo. Por padrão irá abrir uma nova aba no seu navegador com a central de controle do expo. - Em Connection, seleciona a opção "Tunnel".
- Para rodar o aplicativo em seu Virtual Device, clique em "Run on Android device/emulator" ou em "Run on iOS simulator".
Caso tenha alguma duvida sobre a execução do projeto usando Expo acesse a documentação da inicialização de um projeto.