/teste-gowork-laravel

Aplicação PHP desenvolvida com Laravel para gerenciamento de clientes de coworking

Primary LanguagePHP

Este codigo representa a minha solução do teste proposto pela GoWork

🚀 Sobre o projeto

Coplace é uma aplicação para gerenciamento de clientes de coworking desenvolvida como resolução ao teste para a vaga de fullstack na empresa GoWork, desenvolvida com React para o front-end e duas versões para o back-end, uma em PHP com Laravel e outra em NodeJS e Express.

Ambas versões do projeto para backend foram desenvolvidas seguindo os princípios de TDD. 👮🏻‍♂️

🤯 Resolução do teste

A aplicação hoje contempla:

✅ Cadastro de Usuários

✅ Autenticação de usuários através de email e senha

✅ Cadastro de Unidades (Escritorios)

Foi criado o endpoint /offices onde o usuário pode consumir os dados das unidades já disponíveis e também cadastrar novas unidades.

✅ Cadastro de Planos de Coworking, contendo Nome do Plano, Valor Mensal

Foi criado o endpoint /plans onde o usuário realiza a gestão dos planos oferecidos pela empresa.

✅ Cadastro de Clientes (Pessoa Fisica e Juridica) vinculado com Plano Contratado e Unidade

Foi criado o endpoint /customers onde o usuário poderá listar seus clientes atuais e também adicionar novos.

✅ Cadastro de Funcionarios do Cliente/Pessoas que podem usar o Coworking

Foi criado o endpoint /employees onde o usuário realizará a gestão de funcionários de seus clientes.

👀 Preview

🛸 Tecnologias

Esse projeto foi desenvolvido com:

🛠 Instalação e execução

Faça um clone desse repositório

  • Execute composer install para instalar o composer;
  • Execute cp .env.example .env e preencha o arquivo .env com suas variáveis ambiente;
  • Execute php artisan key:generate para gerar uma nova key.
  • Execute php artisan jwt:secret para gerar uma nova key JWT.
  • Execute php artisan migrate para executar as migrations do banco de dados.
  • Execute php artisan storage:link para criar um link público pasta storage (armazenamento de arquivos feito por upload).

Testes

  • Execute php artisian test

🚗 Rotas da API

POST /api/auth

Realiza a autenticação do usuário administrador

Params Query Body Response
null null application/json application/json

GET /api/offices

Realiza a listagem de unidades/escritórios

Params Query Body Response
null null null application/json

POST /api/offices

Realiza o cadastramento de unidade/escritório

Params Query Body Response
null null application/json application/json

GET /api/plans

Realiza a listagem de planos

Params Query Body Response
null null null application/json

POST /api/plans

Realiza o cadastramento de planos

Params Query Body Response
null null application/json application/json

GET /api/customers

Realiza a listagem de clientes

Params Query Body Response
null null null application/json

POST /api/customers

Realiza o cadastramento de clientes

Params Query Body Response
null null application/json application/json

GET /api/employees/{1}

Realiza a listagem de funcionários de um cliente

Params Query Body Response
null ID do cliente null application/json

POST /api/employees

Realiza o cadastramento de um funcionário

Params Query Body Response
null null application/json application/json

POST /api/upload

Realiza o upload de um arquivo

Params Query Body Response
null null multipart/form-data application/json

📌 Próxima etapa

Unidades

  • Deleter unidade
  • Editar unidade

Planos

  • Deleter unidade
  • Editar unidade

Clientes

  • Deleter unidade
  • Editar unidade

Funcionários

  • Deleter unidade
  • Editar unidade

Feito com ♥️ by Brendenson - Github | LinkedIn