Skip to content

Este repositório contém o desenvolvimento de um sistema web responsivo voltado para a transformação digital de uma clínica veterinária. O objetivo é automatizar o agendamento e gerenciamento de consultas, oferecendo controle, organização e análise de dados de forma simples e eficiente

License

Notifications You must be signed in to change notification settings

citi-onboarding/pta-squad-nathan

Repository files navigation


Logo

PTA

Este boilerplate foi criado em 2025.1 com a proposta de trazer a frente mobile para o Processo de Treinamento de Área (PTA) do CITi. Ele foi desenvolvido com base no boilerplate utilizado nos processos seletivos de 2022 e atualizado em 2023.2, que tinha como objetivo aproximar as pessoas aspirantes da realidade dentro da empresa. Esta nova versão mantém esse propósito, ao mesmo tempo em que amplia a capacitação técnica, alinhando-se às demandas atuais da empresa.
Explore the docs »

· Report Bug · Request Feature

Tabela de Conteúdo

  1. About Boilerplate
  2. Server
  3. Client
  4. Add New Dependencies
  5. Contact

About Boilerplate


Esse boilerplate foi criado durante o processo seletivo de 2022 do CITi e ele tem o intuito de aproximar as pessoas aspirantes à realidade dentro do CITi. O boilerplate será usado durante a última etapa do processo seletivo, a qual tem o objetivo de capacitar tecnicamente as pessoas que entrarão no CITi. O template foi criado em um monorepo e está estruturado em cliente (mobile) e servidor.

O server contém uma estrutura base de código voltada à construção de uma API, incluindo uma abstração pensada para facilitar o contato inicial das pessoas aspirantes com o desenvolvimento de back-end. Já o cleint, apresenta uma base de código para a construção de toda a interface web da aplicação. A nova pasta mobile traz uma estrutura inicial para o desenvolvimento da versão mobile da aplicação, ampliando o escopo técnico e alinhando-se às frentes utilizadas em projetos reais do CITi.


Server


How To Install


  1. Certifique-se que o node e o pnpm estejam devidamente instalados.

    npm i -g pnpm
  2. Clone o repositório

    git clone URL_DO_REPOSITÓRIO
  3. Entre na pasta /server do repositório

  4. Abra a pasta /server no vscode

  5. Vá em terminal e abra o novo terminal

  6. Com o terminal aberto, escreva essa sentença abaixo e dê enter

    pnpm install

    ou

    pnpm i

How To Run


  1. Certifique-se que o docker esteja devidamente instalado

  2. Com a pasta /server aberta no vscode, crie um novo arquivo e o nomeie de ".env"

  3. Dentro desse novo arquivo criado, coloque esse texto abaixo

       # ###### GENERAL SETTINGS #######
       PROJECT_NAME=pta
       SERVER_PORT=3001 
    
       # ###### DATABASE SETTINGS #######
       DATABASE_TYPE=postgres
       DATABASE_HOST=${PROJECT_NAME}-db
       DATABASE_PORT=5432
       DATABASE_USER=postgres
       DATABASE_PASSWORD=docker
       DATABASE_DB=${PROJECT_NAME}
    
       DATABASE_URL=${DATABASE_TYPE}://${DATABASE_USER}:${DATABASE_PASSWORD}@${DATABASE_HOST}:${DATABASE_PORT}/${DATABASE_DB}
  4. Abra um novo terminal no vscode

  5. Com o terminal aberto, escreva essa sentença abaixo e dê enter

    docker-compose up

    ou

    docker compose up
  6. Espere que o terminal esteja dessa maneira

  7. Com este terminal rodando, abra outro terminal, ainda na pasta /server, e rode essa sentença abaixo

    pnpm migration

    OBS. 1: Ao aparecer o campo "Enter a name for the new migration:", digite uma frase rápida que indique o que foi feito (ex.: add model user). A migration é como se fosse o commit do banco de dados.

    OBS. 2: É necessário que esse comando seja rodado a cada vez que você modificar o arquivo schema.prisma


Citi Abstraction Documentation


Are Values Undefined


Essa função verifica se existe um valor undefined passando no argumento.

  • Observação: Essa função recebe quantos argumentos forem preciso.

     Retorna o booleano true caso exista valores undefnined
     Retorna o booleano false caso exista valores undefnined

Exemplo:


Insert Into Database


Essa função tem a finalidade de inserir um valor de modelo dentro de um banco de dados.

  • Observação: Essa função recebe o novo objeto a ser inserido como argumentos.

 Retorna https 201 caso o procedimento ocorra de forma correta
 Retorna https 400 caso o procedimento NÃO ocorra de forma correta

Exemplo:


Get All


Essa função tem a finalidade de pegar TODOS os valores de modelo dentro de um banco de dados.

  • Observação: Essa função não tem argumentos.

 Retorna https 200 caso o procedimento ocorra de forma correta
 Retorna https 400 caso o procedimento NÃO ocorra de forma correta

Exemplo:


Find By Id


Essa função tem a finalidade de procurar um valor de modelo dentro de um banco de dado, utilizando o ID.

  • Observação: Essa função recebe o ID como argumento.

 Retorna o valor procurado caso o procedimento ocorra de forma correta
 Retorna undefined caso o procedimento NÃO ocorra de forma correta

Exemplo:


Delete Value


Essa função tem a finalidade de deletar um valor de modelo dentro de um banco de dado, utilizando o ID.

  • Observação: Essa função recebe o ID como argumento.

 Retorna https 200 caso o procedimento ocorra de forma correta
 Retorna https 400 caso o procedimento NÃO ocorra de forma correta

Exemplo:


Update Value


Essa função tem a finalidade de atualizar um valor de modelo dentro de um banco de dado, utilizando o ID.

  • Observação: Essa função recebe o ID e os novos valores como argumentos.

 Retorna https 200 caso o procedimento ocorra de forma correta
 Retorna https 400 caso o procedimento NÃO ocorra de forma correta

Exemplo:


Client


How To Install Client


  1. Entre na pasta /client do repositório

  2. Abra a pasta /client no vscode

  3. Vá em terminal e abra o novo terminal

  4. Com o terminal aberto, escreva essa sentença abaixo e dê enter

    pnpm install

    ou

    pnpm i

How To Run Client


  1. Entre na pasta /client do repositório

  2. Abra a pasta /client no vscode

  3. Vá em terminal e abra o novo terminal

  4. Com o terminal aberto, escreva essa sentença abaixo e dê enter

    pnpm run dev
  5. Espere que o terminal esteja dessa maneira


Mobile


How To Install Mobile


  1. Entre na pasta /mobile do repositório

  2. Abra a pasta /mobile no vscode

  3. Vá em terminal e abra o novo terminal

  4. Com o terminal aberto, escreva essa sentença abaixo e dê enter

    pnpm install

    ou

    pnpm i

How To Run Mobile


  1. Certifique-se de que o aplicativo Expo Go esteja instalado em seu celular (disponível para Android e iOS)

  2. Entre na pasta /mobile do repositório

  3. Abra a pasta /mobile no vscode

  4. Vá em terminal e abra o novo terminal

  5. Com o terminal aberto, escreva essa sentença abaixo e dê enter

    pnpm run start
  6. No terminal, aparecerá um QR Code. Escaneie esse código com o aplicativo Expo Go no seu celular para abrir o app. Obs: seu computador e celular devem estar na mesma rede Wi-Fi


Add New Dependencies


Não instale novas dependências sem a autorização da pessoa gerente do projeto. Caso seja preciso, converse com gerentes e peça direcionamento de como faz para adicionar.


Contact


2025 Boilerplate


About

Este repositório contém o desenvolvimento de um sistema web responsivo voltado para a transformação digital de uma clínica veterinária. O objetivo é automatizar o agendamento e gerenciamento de consultas, oferecendo controle, organização e análise de dados de forma simples e eficiente

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •