Skip to content

RP2-startups/stewart-backend

Repository files navigation

Instruções

Para rodar o backend, é necessário ter instalado:

  • postgresql instalado
  • yarn,npm

Ter configurado:

  • .env com as variáveis de ambiente (há um arquivo .env.example a ser preenchido)

Para rodar:

  • yarn dev

Se quiser realizar um "run limpo" do backend, deve-se:

  • Apagar tudo da tabela SequelizeMeta
  • Apagar todas as tabelas
  • Apagar a pasta jsToTsDist antes de rodar de novo

Para testar as rotas, pode-se usar o Insomnia com o Insomnia_2022-12-04.json na raíz do repositório;

Padrões de retorno:

  • Se sucesso, retorna status 200/201 com retorno esperado;
  • Se erro, retorna status 400/401/500 com json no formato {error:e};

Breve explicação das rotas:

  • POST "/user": rota de criação do usuário; deve-se enviar um multpart-formdata, com: name:string, email:string, about:string, profileImage: imagem (optional), password: string;
  • POST "/login": rota de login; deve-se passar um json com name e password;
  • POST "/logout": rota de logout; não precisa passar nada de body;
  • GET "/user": retorna as informações do usuário, se logado; senão, retorna status 401;
  • POST "/project": NECESSÁRIO ESTAR LOGADO; rota de criação de projeto; deve ser enviado um multpart-formdata com os campos: picture:image,background_picture:image,projectParticipations:Array of ProjectParticipation type (usar JSON.stringify(array)), project (atributos do projeto);
  • GET "/projets": busca de projetos; deve-se passar na url um parâmetro: search_term; ex.: http://localhost:3001/projects?search_term=projeto1
  • POST "/projectParticipation/accept" or "/projectParticipation/reject": NECESSÁRIO ESTAR LOGADO; deve-se passar um json no formato: {project_id:number};
  • POST "/projectParticipation": NECESSÁRIO ESTAR LOGADO; cria requisições de participação no projeto para usuários; deve-se passar um Array of ProjectParticipations: { user_id:number, project_id:number, message?:string, is_adm?:boolean }; campos com "?" são opcionais;
  • GET "/projectParticipation": NECESSÁRIO ESTAR LOGADO: retorna todas as relações projeto <-> usuário do usuário, bem como as requisições feitas para o usuário; não é necessário enviar nada

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •