Analisando propostas

*Update) Finalizar projeto 80% pronto de Discord Bot / Website

Publicado em 03 de Outubro de 2021 dias na TI e Programação

Sobre este projeto

Aberto

Preciso terminar um projeto já 70% escrito do meu bot pro Discord que está rodando em uma versão antiga, quero que últimos detalhes da nova versão rodem corretamente em sincronia com o site (.js, MongoDB, e o site em .jsx e afins) Tenho tudo no github, qualquer dúvida só entrar em contato. Obrigado.

*Update: se passaram 3 dias desde que anunciei aqui, de lá pra cá ja trabalhei no projeto o suficiente pra ir terminando, se alguém ainda tem interesse entre em contato.

Contexto Geral do Projeto

Estamos atualmente rodando o sistema em MySQL porém para uma melhor e mais fácil interação do projeto decidimos migrar pra MongoDB, isso tudo pode ser modificado pelo profissional que irá cuidar do projeto pra que a aplicação seja algo fácil de controlar por "comandos" do próprio Discord ou por alguma interação de admin no site. https://fadinha.site/ Esse aqui é o nosso site atual, que estamos rodando desde a versão mais antiga tentando de alguma maneira controlar a interação dos usuários com a aplacação em si, está muito quebrado e cheio de "bugs" que precisamos ajeitar pra ontem devido ao crescimento que não estávamos esperando pra agora. Temos nosso próprio domíniuo fadinha.site, mas em questão de VPS, host e semelhantes estamos abertos a recomendações de mudanças. Conteúdo já encaminhado e alguns para aprimoramento e criação: # Backend ### Stacks - express - typescript - ts-node-dev - mongoose - discord.js - jsonwebtoken - yup - axios - @top-gg/sdk - canvas - lint - prettier - eslint ### Middlewares - auth: checa se o token existe no cabeçalho da requisição, em seguida verifica o token e retorna o usuário na requisição(req.user) **FUNCIONAL** ### Rotas - sessionController - post /session(): autentica ou cria(caso não exista) usuário com token do discord e retorna o usuário mais um jwt(gerado com idDiscord) **FUNCIONAL** - userController - post /daily(auth): registra o daily e adiciona uma quantidade aleatoria de moeldas ao usuário. **FUNCIONAL** - get /users/show(auth):retorna o usuário autenticado na requisição. **FUNCIONAL** - patch /users/update(auth): busca e atualiza o usuário com parametros opcionais(name, aboutMe, avatar, activeBackground) **FUNCIONAL** - get /users/games(auth): retorna um count de partidas do usuário. **FUNCIONAL** - get /users/find(auth): busca com like pelo nome do usuário. **FUNCIONAL** - get /users/audit/:idDiscord(): retorna as transactions de um usuário pelo id dele. **FUNCIONAL** - generateController - get /generate/:type?/lisa(): gera uma imagem da lisa por canvas com um texto enviado por parametro de url - get /generate/:type?/profile(): gera uma imagem de perfil com usuario enviado por url. **FUNCIONAL** - get /generate/:type?/top(): gera imagem de top moeldas com ultimos 5 usuários. **FUNCIONAL** - get /generate/:type?/vtop(): gera imagem de top votos com ultimos 5 usuários. **FUNCIONAL** - informationController - get /information(): retorna um count de usuários e servidores. **FUNCIONAL** - voteController - post /vote(): recebe usuário por webhook de voto do topgg e contabiliza o voto, da 2.000 moeldas e 1 spell para o usuário que votou. Em seguida envia uma resposta para um webhook no canal da fadinha. **FUNCIONAL** - premiumController - post /premium(auth): troca 500 spells por premium para o usuário autenticado **FUNCIONAL** - get gamesController(auth): retorna todos os jogos do usuário autenticado. **FUNCIONAL** # Frontend ### Stacks - chakra ui - emotion - tailwind com twin.macro - chartjs - chrome-aws-lambda - next - next auth - styled components ### Páginas - / - Simples landing page com descrição da fadinha **FUNCIONAL** - /shop - Loja com backgrounds onde o usuário logado pode comprar seu background. **FUNCIONAL** - /login - Quando acessado redireciona para oauth do discord. **FUNCIONAL** - Dashboard - / - Quando o usuário está autenticado, mostra uma página com moeldas, spells, fcoins, count de jogos e ultimas transactions. **FUNCIONAL** - /backgrounds - Página com backgrounds do usuário. **Necessário melhorar css** - /games - Mostra ultimos 50 jogos do usuário. **Necessário melhorar css.* * - /Transactions - Mostra ultimas 50 transactions do usuário.**Necessário melhorar css** - /regras - Página com regras de uso da fadinha. **FUNCIONAL** - /status - Página com shards da fadinha **Necessário integrar com api** - /support-server - Quando acessado redireciona para link de convite do suporte da fadinha. **FUNCIONAL** - /vote - Quando acessado redireciona para link de votação do topgg **FUNCIONAL** - /convidar - Quando acessado redireciona para link de convite do topgg **FUNCIONAL** - /docs - Página com comandos da fadinha. **FUNCIONAL** # Bot ### Stacks - @top-gg/sdk - mongoose - discord.js v13 - lint - prettier - eslint ### Comandos - about/sobremim <texto>: Define a biografia do usuário com até 200 caracteres. **Funcional** - adc <@usuário ou id> <valor> <motivo>: da um valor monetário para um usuário. **Funcional** - atm/bal/ct {opcional <@usuário ou id>}: mostra seu saldo do usuário selecionado. **FUNCIONAL** - audit/transacoes/tr {opcional <numero da pagina>]: Mostra o histórico de transações ou de outro usuário. **Funcional** - dados <@usuário ou id>: inicia um jogo de dados sem valor contra um usuário. **Funcional** - dados bet <@usuário ou id> <valor>}: inicia um jogo de dados contra um usuário. **Funcional** - blackjack/bj bet <@usuário ou id> <valor>}: inicia um jogo de blackjack. **Funcional** - block: <@usuário ou id>}: bloqueia um usuário de usar a fadinha, colocando ele na blacklist. - Comandos: Mostra o link para a lista de comandos da Fadinha. **FUNCIONAL** - daily: Resgata o daily que recompensa moeldas e fcoins a cada 24h e mostra o tempo até o próximo uso. **Funcional** - eval <@usuário ou id>: força inserção de javascript via comando. **FUNCIONAL** - ftop: Lista o top Fcoins da fadinha. **Funcional** - give <@usuário ou id> <valor>: da um valor monetário para um usuário. **FUNCIONAL** - help/ajuda: Mostra o link para a página de suporte da Fadinha. **FUNCIONAL** - invite: Mostra link para adicionar fadinha no servidor **FUNCIONAL** - lisa <mensagem>: Mostra uma imagem da lisa com a mensagem inserida **FUNCIONAL** - painel: Mostra painel de informações do bot para admins **funcional** - pay/pix <@usuário ou id> <valor>}: permite pagar moeldas a algum usuário. **FUNCIONAL** - ping: Mostra a latência da Fadinha. **FUNCIONAL** - prefix <novo prefixo>: Define o prefixo do bot no servidor. **FUNCIONAL** - profile/perfil: Mostra o perfil do usuário **FUNCIONAL** - race/corrida {opcional <limite de usuários>}: Limita o número de usuários em uma corrida sem valor. - Race/corrida bet <valor da aposta> <limite de usuários>: Inicia um jogo de corrida valendo o total do valor apostado entre os competidores para um único vencedor. **FUNCIONAL** - rifa/rita: Mostra o progresso atual da rifa. **FUNCIONAL** - top: Lista o top Moeldas da fadinha. **Funcional** - remove <@usuário ou id> <moeldas/fcoins> <valor>: remove um valor monetário de um usuário. **FUNCIONAL** - rifa/rita <quantidade de tickets>: Permite ao usuário comprar um ou mais tickets para rifa **funcional** - say {opcional <canal/id>} <mensagem/texto>: faz a fadinha repetir a mensagem escrita após o uso do comando no canal onde foi usado ou no canal definido, apaga a mensagem inicial. **FUNCIONAL** - slots <valor>: Inicia um jogo de Slots. **FUNCIONAL** - suporte: Mostra o link para o servidor de suporte da Fadinha. **FUNCIONAL** - temp: Comando para pegar daily temporáriamente **funcional** - unblock <@usuário ou id>: desbloqueia um usuário, remove ele da blacklist. **FUNCIONAL** - vote/votar/voto: Permite o usuário checar se pode votar na fadinha. **FUNCIONAL** - vtop: Permite ver a lista de usuários que mais votaram. **FUNCIONAL** - work/job: Permite trabalhar a cada 6 horas em troca de Moeldas e FCoins. **FUNCIONAL**

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Não se aplica
Disponibilidade requerida Conforme necessário
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias