--- acesse o monorepo ---
Voting.pool é um app de votação 🗳️ com o front e o back sendo desenvoldido com ferramentas da linguagem JavaScript. Para ver o código do backend acesse o repositório. Algumas das funções do app:
- O app deve ser capaz de criar novos usuários.
- usuários podem logar e permanecer logados até efetivarem log out.
- Todo usuário pode criar pool e adicionar qualquer pessoa na pool, sendo o dono automaticamente adicionado.
- Todos os integrantes da pool podem votar entre si, porém não em si mesmo.
- Participantes de uma pool podem visualizar os resultados da pool após ela ser fechada
- Somente o dono da pool pode fechar a mesma.
Para rodar o projeto localmente é necessário rodar tanto o front quanto o back, então é necessário baixar ambos os repositórios na sua máquina - para isso acesse os repos do backend e do frontend usando git clone ou baixando manualmente.
> mkdir voting-pool && cd voting-pool
> git clone https://github.com/LuigiVanin/ac-voting.pool-front.git
> git clone https://github.com/LuigiVanin/ac-voting.pool-back.git
Antes de tudo é importante saber que esse projeto usa-se de um banco de dados postgres, logo, é necessário que seja setado um antes de subir o backend. Após setar seu banco postgres, basta configurar o projeto - para isso basta seguir o exemplo de .env, o arquivo .env.example
.
Para rodar o front basta entrar na pasta do mesmo e instalar as dependências:
> npm i
Agora, precisamos setar o banco de dados:
npx prisma migrate dev
Para rodar em desenvolvimento basta usar o seguinte script:
npm run start:dev
Para rodar o front basta entrar na pasta do mesmo e instalar as dependências:
> npm i
Agora, para rodar a versão de desenvolvimento rodamos o seguinte script:
> npm run dev
Os testes desses repo utilizam das libs do Jest(back) e Cypress(front) - para rodar os respectivos testes basta rodar os scripts corretos!
No backend é necessário utilizar o docker para subir o banco de testes e rodar o script:
npm run test:e2e
No frontend
WIP 🚧🚧🚧
Essas features serão desenvolvidas conforme o dev(eu) estiver com tempo livre...
- Adicionar um ReadMe
- Adicionar compatibilidade com docekr
- Criar um monorepo
- Mudar restante das notificações para toasts
- Corrigir bug da tela de resultado.
- Finalizar testes de backend.
- Finalizar testes de Frontend
- Futuramente fazer o host na railway
- Migrar backend para a plataforma do Render.com
-> Mais pacotes podem ser vistos nos package.json de cada repo.