Skip to content

sistema desenvolvido com php e react js de um sistema de uma biblioteca

Notifications You must be signed in to change notification settings

andresmeireles/biblioteca

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

biblioteca

Projeto de gerenciamento de uma biblioteca.

descrição técnica

Projeto feito com laravel e reactjs, duas ferramentas extremamente populares, ativamente atualizadas, utilizadas por grandes e pequenos projetos ao redor do mundo, com uma vastidão de ferramentas de desenvolvimento, debug e auxílios na internet, além de serem ferramentas excelentes.

O projeto foi concebido para ser uma api que é consumida por um front-end. Acredito, que essa é a melhor forma de construir aplicações, porque cria uma camada de separação de responsabilidades entre o front-end e back-end, também aumenta a capacidade de uso da aplicação já que uma api pode ser consumida por qualquer front-end, aplicativo mobile ou mesmo um aplicativo de desktop que consiga fazer requisições http.

Essa abordagem também busca garantir a descartabilidade dos componentes, de forma que, se uma organização decidir que o front-end precisa ser refeito, seja com as mesmas tecnologias ou outras, a front-end pode ser tranquilamente descartado e outro implantado, seja no mesmo repositório ou em outro. O mesmo funciona de forma contrária, o front-end pode ser facilmente abstraído da aplicação e consumir outro back-end compatível.

observação

Para fins de praticidade o arquivo .env está incluso nos arquivos do projeto, em uma aplicação comercial, esse aquivo NÃO deve estar disponibilizado no versionamento, por conter informações sensíveis. Neste projeto, contudo, foram tomadas precauções para que nenhum tipo de dado sensível estivesse contido no aquivo.

setup

Para melhor utilizar esse projeto é necessário ter o docker e o docker-compose instalados, artigos para a instalação de ambos podem ser encontrados aqui e aqui. Os assets já estão compilados, contudo se você quiser compilar-los precisa ter instalado o node com versão 16.13 ou superior com npm habilitado. Caso não queira utilizar o docker é necessário ter o php instalado em sua máquina com as extensões necessárias para rodar o laravel e o suporte para sqlite para os testes unitários, pode ser usado o próprio servidor do php ou servidores como nginx e apache.

com docker

Com o docker-compose instalado na sua máquina, na raiz do projeto rode o comando:

docker-compose up -d

Esse comando irá baixar os containers necessários e irá levanta-los. Após terminar de subir o ambiente para instalar as dependências do projeto execute o comando:

docker exec dt-php composer install

Pode ser necessário criar uma chave para a aplicação laravel para que tudo funcione normalmente. Para cria-la utilize o comando:

docker exec dt-php php artisan key:generate

Com os pacotes e a chave gerada precisamos criar as tabelas. Para criar as tabelas do banco de dados execute o comando:

docker exec dt-php php artisan migrate

Para adicionar os usuários, permissões e dados pertinentes execute o comando:

docker exec dt-php php artisan db:seed

Após fazer isso para compilar os assets execute o comando:

npm run prod

Feito isso a aplicação já está pronta para roda na porta 1700 do seu localhost. Em seu navegador abra a seguinte url:

localhost:1700

Feito isso, a aplicação já pode ser utilizada normalmente.

É comum que o dockermude as permissões dos arquivos na hora da instação, se houver algum erro de permissão execute o comando , na raiz do projeto:

sudo chmod 777 -R .

instalação sem o docker.

É necessário conter todas as dependências necessárias para fazer o laravel funcionar localmente, além de ter o [composer][composer-site] instalado localmente em sua máquina para instalar as dependências do projeto. Certificando-se que as dependências estão corretamente instaladas, você pode instalar o nginx e configurar o laravel nele segundo esse tutorial, ou [apache][apache-site] seguindo esse tutorial, observando que ao invés de criar um novo projeto laravel você irá mover esse projeto para a pasta do nginx ou apache.

Também pode utilizar o servidor de testes do laravel.

Independentemente do modo escolhido você deve ir na pasta raiz do projeto e executar os seguintes comandos:

composer install

Também é necessário configurar as chaves DB_HOST, DB_PORT. DB_USERNAME, DB_PASSWORD no arquivo .env para as portas e host da sua maquina, além de se certificar que o banco de dados biblioteca existe na sua instancia do banco de dados, com tudo feito execute o comando:

php artisan migrate

Para adicionar os usuários, permissões e dados pertinentes execute o comando:

php artisan db:seed

Para que a aplicação funcione corretamente você deve alterar a url no parâmetro apiUrl do arquivo env.ts para que as requisições do front-end funcionem corretamente, bem como alterar a chave APP_URL e SANCTUM_STATEFUL_DOMAINS para o endereço correto, por exemplo, se a porta onde você irá acessar o sistema é a 8080 deverá alterar os lugares onde está posta a string localhost:1700 para a string localhost:8080

Após fazer isso para compilar os assets execute o comando:

npm run prod

Feito isso a aplicação já está pronta para rodar. Caso queira usar o servidor local do laravel execute o comando:

php artisan serve

Caso esteja utilizando nginx ou apache esse passo é desnecessário.

Feito isso, a aplicação já pode ser utilizada normalmente na porta indicada no terminal.

informações complementares

A aplicação tem dois usuários padrão, que são bibliotecario e administrador, o que diferencia ambos é que o administrador pode realizar todas as tarefas no sistema, o bibliotecário tem várias permissões, mas não todas. Outros usuários podem ser adicionados pelo front-end da aplicação.

informações de login
    # bibliotecario
    usuario: bibliotecario
    senha: bibliotecario123

    # administrador.
    usuario: admin
    senha: admin2021

testes

Os testes da aplicação podem ser feitos de duas formas, usando o docker ou não.

com docker

docker exec dt-php php artisan test

sem o docker

É necessário ter as extensões do sqlite3 do php para executar os testes localmente. php artisan test

About

sistema desenvolvido com php e react js de um sistema de uma biblioteca

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages