Skip to content

Kaioh95/mirage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIRAGE

Devs 💻

Kaio Henrique e Giovanna

Descrição

O projeto Mirage é uma nova proposta de entretenimento para a comunidade virtual que gosta de compartilhar imagens, memes engraçados e jogos como os de game boy.

A Mirage é uma plataforma que permite a interação social por meio do compartilhamento de imagens ou por meio de rankings de jogos competitivos.

Nosso objetivo é oferecer aos usuários compartilhar imagens ao mesmo tempo em que seja possível adicionar tags às imagens compartilhadas, as tags associadas às publicações ajudam no filtro do conteúdo que o usuário deseja consumir e a plataforma faz uso dessas tags para sugerir as categorias mais consumidas(visualizadas) no momento. O usuário também terá a opção de ver imagens de outros usuários em uma única tela ou acessar o perfil de outros usuários.

Como os usuários podem interagir entre si? Apenas quando estiver logado, um usuário pode curtir e/ou comentar o que outros usuários compartilharam. Os usuários também podem competir entre si jogando os minigames e disputando para se manterem no top 10 do ranking.

Prototipagem

Antes de escrever qualquer código HTML + CSS, primeiramente foram criados protótipos no figma, veja a seguir alguns prints das telas iniciais.

A primeira tela abaixo seria a tela inicial do site, onde há uma barra de pesquisa, área de login, um menu de categorias e área dos posts divididos em quatro colunas. Em seguida, temos a tela de post onde é possível curtir e comentar um post específico e por fim a tela de login.

Implementação

Implementamos utilizando HTML e CSS, as cores foram trocadas para melhor visualização do site, e o resultado foi o seguinte.

Também adicionamos um switch para mudar para o tema escuro. Observe também na quarta imagem, o modal para preencher informações relativas ao post que o usuário pode criar e na terceira imagem temos um espaço de comentários onde é possível escrever ou excluir um comentário, além de ser possível deixar um “gostei” no post.

Tela 1

Tela 2

Tela 4

Tela 3

Sistema

  1. Backend

    O backend foi implementado em Node.js utilizando o Mongodb como banco de dados. Nosso servidor foi dividido da seguinte forma.

Tela 3

Para facilitar o desenvolvimento da aplicação foram utilizadas ferramentas para criação tokens de validação, upload de arquivos, encriptação de senhas. a seguir a lista de ferramentas utilizadas:

  1. Frontend Já no frontend não foi utilizado nenhum framework, além de alguns CDNs para ícones (IonIcons) e para fontes. Para fazer requisições à api do backend foi utilizado o Fetch.

Como Executar?

Caso deseje rodar a aplicação localmente, primeiramente é necessário definir um arquivo .env com as seguinte variáveis de ambiente na pasta backend/ utilizando usuário e senha definidos no Mongo Atlas.

env

Agora você deve definir sua string de conexão ao banco de dados do Mongo Atlas no arquivo backend/db/conn.js

conn

e agora execute o seguinte comando

$ npm run dev

Caso a mensagem “Conectou ao Banco de Dados!” apareça no terminal, então o servidor backend está funcionando corretamente.

Agora, para executar o frontend é necessário alterar a string de url base da api no arquivo frontend/js/service/FetchService.js

frontURL

Basta executar o frontend na porta 3000 para utilizar a aplicação, podendo rodar o seguinte comando:

$ python3 -m http.server 3000

Após estes passos é possível utilizar a aplicação em localhost:3000 .

Links