/OmniStack-06

Projeto desenvolvido na semana Omnistack 06.0 promovida pela RocketSeat.

Primary LanguageJavaScript

Projeto "RocketBox"



Projeto desenvolvido no evento OmniStack 06.0 fornecido pela empresa RocketSeat.

Nessa semana, foi desenvolvido uma aplicação full stack integrando backend (com NodeJS), frontend (com ReactJS) e mobile (com React-Native).

A linguagem de programação utilizada foi o Javascript.


Esse projeto visa armazenar arquivos em boxes on real time.


1. Backend

Para o backend, foram utilizadas ferramentas como express, mongoose, cors, multer e socket.io.
O backend foi construido utilizando os padrões de código da airbnb com o auxílio do eslint e do prettier.

Foram feitas as seguintes funcionalidades:

  1. Models;
  2. Controllers;
  3. Conexão com banco de dados;
  4. Criação das rotas;
  5. Uploads de arquivos;
  6. Aplicação on real time.

2. Frontend

Para o frontend, foram utilizadas ferramentas como axios, react-router-dom, react-dropzone, date-fns e socket.io-client.
O frontend foi parcialmente construido utilizando o styled-components.

Possui duas telas:

  1. Tela inicial para entrar no box (ou cadastrar caso não exista);
  2. Realizar upload e visualização de arquivos.


3. Mobile

Foi utilizando o React-Native com o Expo para a criação da aplicação mobile.
Para o mobile, foram utilizadas ferramentas como axios, react-navigation, expo-image-picker, date-fns e socket.io-client.

Possui duas telas:

  1. Tela inicial para entrar no box (ou cadastrar caso não exista);
  2. Realizar upload e visualização de arquivos.


4. Funcionalidade On Real Time

Ao realizar upload, as telas de todos os dispositivos serão atualizados automaticamente.
Essa funcionalidade é devida ao socket.io e socket.io-client.