Lista de Alunos feita com Koa, Apollo GraphQL e Next
Veja a Demo
Essa são as principais que optei para desenvolver a aplicação:
Optei por Next.js, em função de alternativas SPA como o CRA ou VITE, pois na minha opinião é o que fornece a melhor expêriencias de desenvolvimento. A possiblidade de fazer SSR ou SSG não foi o determinante, mas todas as otimizações e recursos que por default ele já fornece.
O banco Mongo foi escolhido devido a natureza dos dados, como são apenas informações sem nenhum relacionamento não havia a necessidade de usar um banco relacional.
Eu fiz o deploy da API pelo Heroku e da UI pela vercel.
API: https://descomplica-challenge.herokuapp.com/
UI: https://descomplica-technical-challenge.vercel.app/
Ah, não se preocupem com os dados. Os gerei usando o faker 🙂
Versão mobile:
Para rodar localmente a aplicação siga os próximos passos.
Antes de começar, você precisa ter os seguintes programas instalados:
npm install yarn -g
- Clone o repositório
git clone https://github.com/gabrielclaudino/descomplica-technical-challenge.git
- Suba o banco de dados e rode o seed
cd api
docker-compose up -d
- Instale as dependências na UI e na API:
$ yarn # na pasta ui
$ yarn # na pasta api
-
Crie um arquivo de ambiente para a api (
api/.env
), veja oapi/sample.env
. -
Crie um arquivo de ambiente para a ui (
ui/.env.local
), olheui/sample.env
.
cd api && yarn run dev
cd ui && yarn run dev
O http://localhost:3000 rodará a API e no http://localhost:3001 a UI.
Caso queira rodar um reverse-proxy localmente, na raiz do projeto existe um Caddyfile
. Se você tiver o Caddy instalado basta rodar no terminal.
sudo caddy run
A UI vai estar rodando neste endereço: https://ui.descomplica.localhost
A API vai rodar aqui: https://backend.app.localhost/
Distribuído sob a licença MIT. Veja o arquivo LICENSE
para mais informações.
👤 Gabriel Claudino
- Github: @gabrielclaudino
- LinkedIn: @gabrielhenriqueclaudino