Cadastro de usuários com backend desenvolvido em Laravel (PHP) REST e frontend de exemplo desenvolvido em VueJs.
- Montar uma api que importe uma lista de usuários e posts em uma outra api fornecida e armazene em um banco de dados MySql para consultas, edições e inserções através de uma api REST.
- Montar uma tela de exemplo que liste os usuários com opções de adicionar, editar, excluir e visualizar os posts do respectivo usuário.
Docker compose contendo:
- servidor nginx rodando nas portas 8080 (API) e 9090 (frontend).
- php-fpm v.
7.1.9
na porta 9000. - mysql v.
5.6
na porta 3306. Caso necessite alterar a porta ou configurações do banco de dados, altere aqui e aqui.
- htdocs: arquivos do projeto.
- test-mobly-api: projeto Laravel (PHP).
- test-mobly-web projeto VueJs.
- mysql: arquivos de configurações do MySql.
- nginx: arquivos de configurações do nginx.
- php-fpm: arquivos de configurações do PHP.
- git
- docker-compose
- composer (para instalar dependências do Laravel)
- npm (para gerar build do VueJs se necessário)
Obs: O repositório já contém uma build gerada do projeto VueJs.
Obs 2: Os arquivos .env
possuem apenas dados genéricos pertinentes exclusivamente a este projeto e foram mantidos apenas para facilitar o teste.
Clone o prjeto:
git clone https://github.com/carloshatus/test-mobly.git
Vá até o diretório do projeto Laravel:
cd [diretório do projeto base]/htdocs/test-mobly-api/
Instale as dependências:
composer install
Realize a migração do banco de dados:
php artisan migrate
Atribua permissão de leitura e escrita a pasta storage
:
chmod -R 777 /storage/
Retorne ao diretório base do projeto:
cd ..
cd ..
Prepare os containers do docker:
docker-compose build
Execute os containers do docker:
docker-compose up -d
- API Laravel: http://localhost:8080
- Frontend VueJs: http://localhost:9090
- Todos os usuários: http://localhost:8080/api/users
- Usuário específico: http://localhost:8080/api/users/users/{id}
- Posts de um usuário: http://localhost:8080/api/users/{id}/posts