Este projeto consiste em uma aplicação web utilizando Node.js, Next.js, Prisma ORM, PostgreSQL e Docker Container, chamada de Solidariza. O objetivo é desenvolver, da melhor forma possível, a aplicação solicitada pela empresa QriarLabs como parte do teste técnico para uma vaga de Trainee.
A construção desta aplicação tem como objetivo auxiliar os usuários na gerência de campanhas de doação.
As funcionalidades da aplicação são:
Para executar a aplicação, siga as etapas:
Certifique-se de ter as versões de NodeJS e Docker instaladas e funcionando corretamente em sua máquina;
Clone o repositório deste projeto
Abra o projeto utilizando o Visual Studio.
Siga os passos a seguir:
Execute o comando cd backend
para entrar na pasta "backend"
Dentro da pasta backend, execute o comando npm install
ou yarn
para instalar as dependencias.
Dentro da pasta backend, ha um arquivo docker-compose.yml responsavel pela configuracao de um container com uma imagem PostgreSQL. Execute o comando docker-compose up -d
para subir o container.
Utilizando uma ferramenta de administracao de banco de dados, indico utilizar o DBeaver, faca a conexao com o banco com as seguintes configuracoes:
- Host: localhost
- Banco de dados: solidariza
- Usuario: solidariza
- Senha: password
- Porta: 5433
Crie um arquivo .env
e coloque DATABASE_URL="postgresql://solidariza:password@localhost:5433/solidariza?schema=public"
, que sera responsavel pela comunicacao do prisma com o banco de dados.
Execute o comando npx prisma db push
ou yarn prisma db push
para enviar os schemas e migrations para o banco.
Por fim, execute o comando npm run dev
ou yarn dev
para rodar a API.
Abra em seu navegador http://localhost:4000/ para verificar a API funcionando.
Abra um novo terminal e execute o comando cd frontend
para entrar na pasta de Frontend
Dentro da pasta frontend, execute o comando npm install
ou yarn
para instalar as dependencias.
Apos instalar todas as dependencias, execute o comando npm run dev
ou yarn dev
para inicializar o frontend
Abra em seu navegador http://localhost:3000/
Com a API rodando, voce pode testar os endpoints, utilizando ferramentas como Postman ou Insomnia, com as urls a seguir:
Para buscar todas as campanhas do banco de dados: getCampaigns
Para buscar uma campanha pelo Id: getCampaignById
Para criar uma campanha: createCampaign
Para atualizar uma campanha: updateCampaign
Para deletar uma campanha: deleteCampaign
Para buscar todas as doacoes do banco de dados: getDonations
Para buscar uma doacao pelo Id: getDonationById
Para criar uma doacao: createDonation
Para atualizar uma doacao: updateDonation
Para deletar uma doacao: deleteDonation