Uma aplicação web de código aberto para as Olimpíadas de Matemática da UNEMAT.
Pra rodar esse projeto, é necessário instalar:
- Node.js versão 10.0
- Docker
- Docker Compose
Clone o repositório para o seu computador:
git clone https://github.com/iquabius/olimat.gitInstale as dependências do monorepositório:
cd olimat
npm installInstale as dependências da API e do frontend:
npx lerna bootstrapLevante os serviços prisma e postgres definidos em api/docker-compose.yml:
cd ../api
docker-compose up -dO Prisma agora está conectado ao banco de dados e roda em http://localhost:4466.
Ele é utilizado pelo servidor GraphQL para ler e escrever no BD.
Para criar as tabelas no BD, implante a API do Prisma definida em api/prisma/datamodel.graphql:
npx prisma deployNote que quando a implantação do serviço do Prisma é feita pela primeira vez, o comando irá executar o script
api/prisma/seed/seed.tspara semear o banco com dados iniciais. Ele sabe desse script porque está listado emapi/prisma/prisma.ymlna propriedadeseed.
Agora que o serviço de banco de dados do Prisma está disponível, podemos iniciar o servidor:
npm run devO script dev inicia o servidor em http://localhost:4000/graphql. Ele pode ser acessado pelo navegador através do GraphQL Playground, onde é possível explorar as operações disponíveis navegando pela documentação integrada.
Inicia a aplicação em http://localhost:3000:
cd ../web
npm run devEsse repositório está configurado pra funcionar como um espaço de trabalho multi-raiz do Visual Studio Code. Isso garante o funcionamento correto de algumas integrações, como o a extensão Apollo GraphQL. Há duas formas de abrir esse repositório como um espaço de trabalho:
Se abrir esse projeto como pasta, um aviso aparecerá no canto inferior direito:
This folder contains a workspace file 'olimat.code-workspace'. Do you want to open it? Learn more about workspace files.
Clique em 'Open Workspace' para abrir o projeto como espaço de trabalho.
Para abrir a espaço de trabalho diretamente, abra o VS Code, clique em File -> Open Workspace, navegue até o diretório do projeto e selecione o arquivo olimat.code-workspace.
Para adicionar ou remover dependências:
- adicione ou remova manualmente em package.json
- remova o diretório
node_modules - e execute:
$ lerna bootstrap --scope @org-name/package-name --no-ci --force-localFonte: lerna/lerna#1886 (comment)