Este é um aplicativo desenvolvido para a matéria de Projeto Integrador da UNIMAR , sob a orientação do Prof. Douglas Rodrigues. O sistema permite que os usuários enviem críticas e sugestões. Os usuários podem inserir seu nome, WhatsApp, email e o texto da sugestão ou crítica. O sistema oferece funcionalidades de criação, edição, exclusão e visualização dos registros, assim fazendo todo o CRUD.
- PHP - Versão 8.1 - (requisito)
- HTML - (requisito)
- CSS - (requisito)
- Bootstrap
- MySQL - Versão 8.0 - (requisito)
- Docker
- Docker Compose
-
Instalação do XAMPP
- Download do XAMPP
- Siga as instruções de instalação fornecidas na página do download.
-
Configuração do Ambiente
- Extraia o conteúdo do projeto no diretório
htdocs
do XAMPP. - Configure o arquivo
.env
com as credenciais do MySQL do XAMPP. - Inicie o servidor Apache e MySQL através do painel de controle do XAMPP.
- Extraia o conteúdo do projeto no diretório
-
Instalação do Docker e Docker Compose
-
Configuração do Ambiente
-
Certifique-se de que o Docker e o Docker Compose estão instalados e em execução.
-
Navegue até o diretório do projeto e execute o seguinte comando para iniciar os containers:
docker-compose up --build
-
Isso iniciará três containers: um para o PHP, um para o MySQL e uma rede para conectar os dois.
-
www/
- Contém o código fonte do projeto e o dockerfile referente ao PHP. É importante notar que a maior parte do código e arquivos relacionados está dentro desta pasta.www/
- Outros arquivos e diretórios do projeto.banco/
- Contém o arquivoinit.sql
oucriarbanco.sql
para criação do banco de dados e o dockerfile referente ao container MYSQL.
O arquivo .env
(encontra-se na pasta www) contém variáveis de ambiente para a configuração do banco de dados. Você precisará ajustar este arquivo para que ele funcione com o seu ambiente, seja no XAMPP ou Docker.Esta como padrao para Xampp, se for utilizar em docker favor verificar.
-
Exemplo de configuração para XAMPP:
DB_HOST=localhost DB_USER=root DB_PASS= DB_NAME=projintegrador
-
Exemplo de configuração para Docker Compose:
DB_HOST=db DB_USER=erasmo DB_PASS=3727 DB_NAME=projintegrador
Para a utilização e manipulação do arquivo .env no projeto, foi necessario a utilização da biblioteca
vlucas/phpdotenv:^5.6
, foi utilizado composer e com isto ela faz parte agora do projeto como requisito. O projeto ficara como padrao para testes em Xampp .
Na pasta banco
, há um arquivo chamado init.sql
que contém o script para criar a tabela necessária para este projeto. Você pode importar este arquivo diretamente no MySQL para configurar o banco de dados automaticamente.
Detalhe o projeto já cria a database e as tabelas automaticamente só utilize se tiver algum problema
Na execução do app se a tabela nao existir sera criada e mandara mensagem de conectado na tela de listagem e edição dos dados..
O script init.sql
criará a tabela suggestions
com a seguinte estrutura:
cria database se não existir e seleciona..
CREATE DATABASE IF NOT EXISTS projintegrador;
USE projintegrador;
cria tabelas se não existir
CREATE TABLE IF NOT EXISTS suggestions (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
whatsapp VARCHAR(20),
suggestion_type ENUM('Sugestao', 'Critica') NOT NULL,
suggestion TEXT NOT NULL,
submission_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);





