Título: WEBAPP DE GESTIÓN DEL SITIO WEB
Enlace de demostración: http://52.28.221.30/account/
Descripción
En este proyecto, desarrollé un sistema de gestión de sitios web con el que puedes hacer lo siguiente:
1: Regístrate, inicia sesión y recupera la contraseña.
2: Cargue, edite y elimine las imágenes de su sitio web.
3: Escriba, edite y elimine la información de su sitio web, como por ejemplo: Acerca de nosotros, Nuestros servicios, etc.
4: Ver y analizar las estadísticas de tus visitantes y usuarios. 5: Una API para iniciar sesión y consultar la base de datos.
Los lenguajes incluyen: PHP, MYSQL (PDO), Javascript, HTML5 y CSS.
CÓMO UTILIZAR:
Base de datos:
Necesitará XAMPP ejecutando PHP 8+, cambie el nombre de usuario y la contraseña de mysql a (adminui,#J4dIg0Mn4PiJm0Ck4#) respectivamente, cambie los detalles de la base de datos en el archivo de configuración de phpmyadmin si decide usar detalles diferentes .
Resumen:
en el archivo .env cree la variable SECRET_KEY y asígnela a su google recatcha secrect_key y también en la línea 8 en account.settings.js reemplace site_key con la suya.
SMTP:
en el archivo .env cree las variables SMTP_EMAIL y SMTP_PASS y asígnelas a sus propios detalles.
variable del lenguaje principal:
La variable HOST en config.php contiene el dominio raíz de la máquina, reemplácelo para que coincida con el suyo.
Variable de carpeta de imágenes:
La variable Img_folder en config.php contiene la carpeta para almacenar imágenes, reemplácela para que coincida con la suya.
Variable REG MÁX:
La variable MAX_REG en config.php contiene la cantidad de usuarios (administradores) que desea permitir.
Seguimiento de estadísticas de visitantes
Agregue require_once('includes/tracking.php'); en la parte superior de login.php o cualquier otra página/archivo de su elección, también puede realizar una solicitud a *sudominio/cuenta/tracking.php para registrar una visita.
ARCHIVOS:
config.php :
Este archivo consta de las variables globales y la inicialización de la base de datos.
funciones.php :
en este archivo están todas las funciones compartidas, requiere las funcionalidades de config.php .
índice.php :
este es el titular principal de todas las páginas, cambia entre páginas según el valor de action y subAction de los parámetros de URL action y subAction respectivamente, requiere las funcionalidades de funciones.php , incluye/acciones.php , incluye/encabezado .php , incluye/footer.php .
iniciar sesión.php :
este archivo contiene la lógica de autenticación de inicio de sesión, requiere las funcionalidades de funciones.php .
cerrar sesión.php :
este archivo para destrucción de sesión y cierre de sesión del usuario, requiere las funcionalidades de funciones.php .
recuperador-contraseña.php :
Este archivo es para recuperar contraseña, requiere las funcionalidades de funciones.php .
registro.php :
este archivo contiene la lógica de autenticación de registro, requiere las funcionalidades de funciones.php .
seguimiento.php :
este archivo es para rastrear y registrar la información de un visitante a través de su IP, requiere las funcionalidades de funciones.php .
api.handledata.php :
este archivo contiene todas las lógicas de manipulación de datos, como cargar, editar y eliminar datos, requiere las funcionalidades de funciones.php .
js/cuenta.settings.js :
Este archivo contiene la lógica y funcionalidades de JavaScript como Google Recaptcha, el envío de solicitudes xml al backend, las interacciones de la página, el registro de la diferencia porcentual de las estadísticas de usuarios y visitantes, y requiere algunas funcionalidades de include/footer.php .
css/cuenta.estilo.css :
este archivo contiene todo el estilo de este programa.
incluye/acciones.php :
este archivo contiene las funciones para organizar y mostrar el html de la página y sus datos según lo decidido por index.php , requiere algunas funcionalidades de funciones.php .
incluye/encabezado.php :
este archivo contiene las funciones para mostrar el encabezado y las partes principales del sitio web en general, requiere algunas funcionalidades de funciones.php e incluye/tags.php .
incluye/etiquetas.php :
Este archivo contiene todas las metaetiquetas HTML y enlaces de archivos que se agregarán en la parte principal del sitio web general, esto es para permitir que las páginas individuales tengan su propio título.
incluye/footer.php :
este archivo contiene toda la parte del pie de página del html y algo de javascript del sitio web en general.
imágenes :
esta carpeta contiene todas las imágenes cargadas.
proveedor :
Esta carpeta contiene algunos complementos de PHP como Autoload y Symphony.
compositor.lock y comsposer.json :
este es un paquete php para instalar paquetes y complementos.
Cómo utilizar la API
Acceso
Para iniciar sesión, primero debe crear una cuenta en la página web, luego proporcionar el correo electrónico y la contraseña como datos json, por ejemplo, {"email":"[email protected]","password":"testing12345"}, enviar una solicitud de publicación a http://52.28.221.30/account/api/login.php y obtendrá un token ( el token caduca en 48 horas ). Ejemplo de respuesta const data = {"success":true,"message":"Inicio de sesión exitoso","access_token":"ac9e4fd897999fa3419bec77718de76c"}. Con el token de acceso, puede realizar operaciones crudas.
Operaciones crudas
Este acceso es sólo para usuarios registrados. Para esto, deberá enviar una solicitud de publicación a http://52.28.221.30/account/handledata.php
Encabezados: para que esta operación sea exitosa, deberá configurar un encabezado con el token de acceso como Autorización, por ejemplo, const HEADERS = {"Content-Type": "application/json","Authorisation": "Bearer a3f714e812578a46d97f703ed2a99b59" }.
Cuerpo de la solicitud: Hay dos operaciones principales, Imágenes y Textos, debe proporcionar un dato json de acuerdo con la operación.
Imágenes:
Datos de imagen : const data = {"data": [{"old_name": "example.extension", "image_name": "example.extension", "image_blob": "contiene los datos base64 de la imagen", "xtension":to se especificará si operación=cargar}],"origen": "api_req", "tipo": "imagen", "categoría": "galerías", "sub_categoría": "se especificará (imágenes del sitio, tatuajes, pinturas)", "operación": "por especificar (editar, eliminar, cargar)", "estado": "cambiado"}
Textos:
Datos de texto : const data = {"data": por especificar,"origin": "api_req","type": "textual","category":"acerca de/servicios","sub_category": "por especificar" ,"operación": "por especificar","estado": "cambiado"}
Obteniendo datos: para obtener datos, envíe una solicitud Get a http://52.28.221.30/account/api/readdata.php, especificando la acción , subacción , página y límite .
por ejemplo, solicitud : http://52.28.221.30/account/api/readdata.php?action=galleries&sub=site-images&page=0&limit=4,
por ejemplo, respuesta : {'éxito': Verdadero, 'página': '0', 'límite': '4', 'total_data_count': 12, 'data_count': 4, 'datos': [{'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'}]}