Skip to content

kopererp/aceleracao-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aceleração Koper back-end

💻 Projeto

Bem vindo ao repositório do projeto, apresentamos abaixo as instruções para que você possa dar andamento as atividades propostas!

Antes de seguir aqui leia todas as informações disponiveis no quadro do trello.

  1. A primeira coisa que você deverá criar é o seu quadro no Trello a partir do nosso quadro modelo.
    • As instruções para criar o seu quadro então disponíveis no cartão intitulado Instruções de uso do Quadro.
  2. Após criar seu quadro, você deve fazer um fork deste repositório.
  3. Com seu repositório e quadro criados, você deverá fazer sua primeira alteração no projeto.
    • No seu repositório, abra o arquivo README.md e adicione seu nome e link do seu quadro, e depois faça um commit das alterações;
    • No seu quadro, adicione seu nome e o link do seu repositório no cartão intitulado Informações do candidato

Agora basta seguir as instruções disponíveis no seu quadro do Trello e executar as tarefas propostas.

Boa sorte!

🧰 Tecnologias

Este projeto utiliza as seguintes tecnologias:

Bibliotecas auxiliares:

Bibliotecas para os testes:

Bancos de dados:

🏗️ Estrutura do projeto

app/
├── __init__.py
├── main.py (Instância a aplicação)
├── documents.py (Define os documentos do MongoDB)
├── models.py (Define os modelos do PostgreSQL)
├── events.py (Define as ações que são executados na inicialização do sistema)
├── routers (Rotas do projeto e seus endpoints, normalmente implementado em REST)
│   ├── __init__.py
│   └── example.py (Uma rota de exemplo)
├── templates (Define os templates utilizados pelas rotas)
│   └── example.html (Um template utilizando Jinja)
├── schema.py (Define o schema do GraphQL, a Query e Mutation raíz do grafo)
├── settings.py (Define as configurações do projeto e as variáveis de ambiente)
├── types.py (Define os types compartilhados entre os módulos GraphQL)
├── module_example (Um módulo GraphQL)
│   ├── __init__.py
│   ├── mutations.py (Define as mutations relacionadas ao módulo)
│   ├── queries.py (Define as queries relacionadas ao módulo)
│   ├── types.py (Define os types relacionados ao módulo)
│   └── validators.py (Define as validações utilizadas pelas queries e mutations)

⚙️ Iniciando o projeto

O ambiente de desenvolvimento é gerenciado através do Docker Compose, para iniciar o projeto você vai precisar realizar os seguinte passos:

🛫 Subindo a aplicação

$ docker-compose up -d

Após você subir a aplicação você vai ter disponível no seu ambiente um PostgreSQL, um MongoDB e uma aplicação base para você entender a estrutura do projeto. Você pode acessar a aplicação através do Playground.

📺 Monitorando a aplicação

$ docker-compose logs --tail 100 -f

🛬 Parando a aplicação

$ docker-compose stop

🧑‍💻 Executando os testes

Caso o ambiente esteja up

$ docker-compose exec api pytest -vv -x -s

Caso o ambiente esteja down

$ docker-compose run api pytest -vv -x -s

📝 Variáveis de ambiente

Configurações relativas a acesso a recursos e credenciais são armazenadas no projeto utilizando variáveis de ambiente. As variávels de ambiente definem configurações para os diferentes ambientes do projeto (development, staging, production).

Variável Descrição Valor padrão
MONGO_URI URI de conexão ao MongoDB "mongodb://mongo/dio"
POSTGRES_URI URI de conexão ao PostgreSQL "postgresql://dio:dio@postgres:5432"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published