Título: GERENCIAMENTO DE SITE WEBAPP
Link de demonstração: http://52.28.221.30/account/
Descrição
Neste projeto, desenvolvi um sistema de gerenciamento de sites com o qual você pode fazer o seguinte:
1: Cadastre-se, faça login e recupere a senha.
2: Faça upload, edite e exclua as imagens do seu site.
3: Escreva, edite e exclua as informações do seu site, como: Sobre nós, Nossos serviços, etc.
4: Visualize e analise as estatísticas de visitantes e usuários. 5: Uma API para fazer login e consultar o banco de dados.
As linguagens incluem: PHP, MYSQL (PDO), Javascript, HTML5 e CSS.
COMO USAR:
Banco de dados:
Você precisará do XAMPP executando PHP 8+, altere o nome de usuário e a senha do mysql para (adminui,#J4dIg0Mn4PiJm0Ck4#) respectivamente, altere os detalhes do banco de dados no arquivo de configuração do phpmyadmin se você decidir usar detalhes diferentes .
Recaptcha:
no arquivo .env crie a variável SECRET_KEY e atribua-a ao seu google recatcha secret_key e também na linha 8 em account.settings.js substitua o site_key pelo seu.
SMTP:
no arquivo .env, crie as variáveis SMTP_EMAIL e SMTP_PASS e atribua-as aos seus próprios detalhes.
Variável hospedeira:
A variável HOST em config.php contém o domínio raiz da máquina, substitua-o para corresponder ao seu.
Variável da pasta de imagem:
A variável Img_folder em config.php contém a pasta para armazenar imagens, substitua-a para corresponder à sua.
Variável MAX REG:
A variável MAX_REG em config.php contém o número de usuários (administradores) que você deseja permitir.
Acompanhamento de estatísticas de visitantes
Adicionar require_once('includes/tracking.php'); no topo de login.php ou qualquer outra página/arquivo de sua escolha, você também pode fazer uma solicitação para *seudominio/conta/tracking.php para registrar uma visita.
ARQUIVOS:
config.php :
este arquivo consiste nas variáveis globais e na inicialização do banco de dados.
funções.php :
neste arquivo estão todas as funções compartilhadas, requer as funcionalidades de config.php .
index.php :
este é o detentor principal de todas as páginas, ele alterna entre as páginas de acordo com o valor da ação e subAção dos parâmetros de url action e subAction respectivamente, requer as funcionalidades de functions.php , include/actions.php , include/header .php , inclui/footer.php .
login.php :
este arquivo contém a lógica de autenticação de login, requer as funcionalidades de functions.php .
logout.php :
este arquivo para destruição de sessão e logout do usuário, requer as funcionalidades de functions.php .
recuperador-password.php :
este arquivo é para recuperação de senha, requer as funcionalidades de functions.php .
inscrição.php :
este arquivo contém a lógica de autenticação de inscrição, requer as funcionalidades de functions.php .
rastreamento.php :
este arquivo serve para rastrear e registrar as informações de um visitante através de seu IP, requer as funcionalidades de functions.php .
api.handledata.php :
este arquivo contém todas as lógicas de manipulação de dados como upload, edição e exclusão de dados, requer as funcionalidades de functions.php .
js/account.settings.js :
este arquivo contém a lógica javascript e funcionalidades como google recaptcha, envio de solicitações xml para o backend, interações de páginas, registro de diferença percentual de estatísticas de usuários e visitantes, e requer algumas funcionalidades de include/footer.php .
css/conta.style.css :
este arquivo contém todo o estilo deste programa.
inclui/actions.php :
este arquivo contém as funções para organizar e mostrar o html da página e seus dados conforme decidido por index.php , requer algumas funcionalidades de functions.php .
inclui/header.php :
este arquivo contém as funções para mostrar o cabeçalho e as partes principais do site em geral, requer algumas funcionalidades de functions.php e include/tags.php .
inclui/tags.php :
este arquivo contém todas as meta tags html e links de arquivos a serem adicionados na parte principal do site geral, para permitir que páginas individuais tenham seu próprio título.
inclui/footer.php :
este arquivo contém toda a parte do rodapé do html e algum javascript do site em geral.
imagens :
esta pasta contém todas as imagens enviadas.
fornecedor :
esta pasta contém alguns plugins php como autoload e symphony.
compositor.lock e comsposer.json :
este é um pacote php para instalação de pacotes e plugins.
Como usar a API
Conecte-se
Para fazer login, primeiro você deve criar uma conta na página da web e depois fornecer o e-mail e a senha como dados json, por exemplo, {"email":"[email protected]","password":"testing12345"}, enviar uma solicitação de postagem para http://52.28.221.30/account/api/login.php e você receberá um token ( o token expira em 48 horas ). Exemplo de resposta const data = {"success":true,"message":"Login bem sucedido","access_token":"ac9e4fd897999fa3419bec77718de76c"}. Com o token de acesso, você pode realizar operações brutas.
Operações brutas
Este acesso é apenas para usuários logados. Para isso, você terá que enviar uma solicitação de Post para http://52.28.221.30/account/handledata.php
Cabeçalhos: para que esta operação seja bem-sucedida, você terá que definir um cabeçalho com o token de acesso como Autorização, por exemplo, const HEADERS = {"Content-Type": "application/json","Authorisation": "Bearer a3f714e812578a46d97f703ed2a99b59" }.
Corpo da solicitação: Existem duas operações principais, Imagens e Textos, você deve fornecer dados JSON de acordo com a operação.
Imagens:
Dados da imagem : const data = {"data": [{"old_name": "example.extension", "image_name": "example.extension", "image_blob": "contém os dados base64 da imagem", "xtension":to ser especificado se operação=upload}],"origin": "api_req", "type": "image", "category": "galleries", "sub_category": "a ser especificado (imagens do site, tatuagens, pinturas)", "operação": "a ser especificado (editar, excluir, fazer upload)","estado": "alterado"}
Textos:
Dados de texto : const data = {"data": a ser especificado,"origin": "api_req","type": "textual","category":"about/services","sub_category": "a ser especificado" ,"operação": "a ser especificado","estado": "alterado"}
Obtendo dados: para obter dados, envie uma solicitação Get para http://52.28.221.30/account/api/readdata.php, especificando a ação , subação , página e limite .
por exemplo, solicitação : http://52.28.221.30/account/api/readdata.php?action=galleries&sub=site-images&page=0&limit=4,
por exemplo, resposta : {'sucesso': Verdadeiro, 'página': '0', 'limite': '4', 'total_data_count': 12, 'data_count': 4, 'data': [{'img_url': 'http ://127.0.0.1/backend/account/images/site-images/favicon-sm.ico'}, {'img_url': 'http://127.0.0.1/backend/account/images/site-images/favicon-lg.ico'}, {'img_url': 'http://127.0.0.1/backend/account/images/site-images /23891556799905703.png'}, {'img_url': 'http://127.0.0.1/backend/account/images/site-images/youtube-circle-black.png'}]}