Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ingsystemcix/project-nutrishop
NutriShop is your go-to online store for nutritious products, offering a wide range of healthy options to support your well-being. Developed in PHP, our platform ensures a seamless shopping experience with a focus on quality and wellness.
https://github.com/ingsystemcix/project-nutrishop
mvc orm php
Last synced: 10 days ago
JSON representation
NutriShop is your go-to online store for nutritious products, offering a wide range of healthy options to support your well-being. Developed in PHP, our platform ensures a seamless shopping experience with a focus on quality and wellness.
- Host: GitHub
- URL: https://github.com/ingsystemcix/project-nutrishop
- Owner: IngSystemCix
- License: other
- Created: 2024-05-19T19:54:17.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-06-09T06:31:23.000Z (7 months ago)
- Last Synced: 2024-11-10T07:32:14.314Z (2 months ago)
- Topics: mvc, orm, php
- Language: PHP
- Homepage:
- Size: 5.52 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NutriShop Online Store
## 👨🏻💻 DESARROLLADORES
- Romero Collazos, Juan Bladimir
- Martinez Vidaurre, Briggitte del Milagro
- Ramos Marrufo, Daniel David
- Brenis Perez, Romina Alexandra
- Fupuy Chaname, Jorge Hugo## 1. Introducción
NutriShop es una tienda en línea dedicada a la venta de productos nutritivos. Este documento proporciona información sobre la configuración, desarrollo, uso y mantenimiento de la tienda en línea.## 2. Requerimientos de Documentación
### 2.1 Documentación del Código Fuente
- **Comentarios en el Código**: Todo el código debe estar comentado para explicar la lógica y las funciones complejas.
- **Documentos de Diseño de Software**: Descripción detallada de la arquitectura del sistema y los patrones de diseño utilizados.
- **README.md**: Explica el propósito del proyecto, cómo configurarlo, instalarlo y ejecutarlo.### 2.2 Manual del Desarrollador
- **Guía de Contribución**: Instrucciones para desarrolladores que deseen contribuir, incluyendo estándares de codificación, estilo de commits y proceso de revisión.
- **Configuración del Entorno de Desarrollo**: Detalles sobre la configuración del entorno de desarrollo local, dependencias y herramientas necesarias.### 2.3 Documentación de la API
- **Especificación de la API**: Descripción de las rutas de la API, métodos HTTP soportados, parámetros requeridos y de respuesta, con ejemplos.
- **Fixer**: La tienda en línea NutriShop utiliza la API de [Fixer](https://fixer.io) para obtener tasas de cambio de divisas actualizadas.### 2.4 Manual del Usuario
- **Guía del Usuario Final**: Instrucciones sobre cómo usar la tienda en línea, incluyendo registro, inicio de sesión, navegación por productos, carrito de compras y procesamiento de pagos.
- **Preguntas Frecuentes (FAQ)**: Sección de preguntas frecuentes para resolver dudas comunes de los usuarios.### 2.5 Documentación de Seguridad
- **Políticas de Seguridad**: Detalles sobre las políticas y prácticas de seguridad implementadas.
- **Procedimientos de Recuperación ante Desastres**: Plan para la recuperación del sistema en caso de fallos críticos.### 2.6 Documentación de Soporte y Mantenimiento
- **Procedimientos de Soporte**: Instrucciones para el equipo de soporte sobre cómo manejar problemas técnicos y consultas de los usuarios.
- **Mantenimiento Regular**: Guías sobre tareas de mantenimiento periódico, como actualizaciones de software, copias de seguridad y revisiones de seguridad.### 2.7 Control de Versiones
- **Historial de Versiones**: Registro detallado de todas las versiones del software, incluyendo cambios, mejoras y correcciones de errores.## 3. Instalación y Configuración
### 3.1 Requerimientos del Sistema
- [VSCode](https://code.visualstudio.com/download)
- [Node](https://nodejs.org/en)
- [Postman](https://www.postman.com/downloads/)
- [XAMPP](https://www.apachefriends.org/es/download.html)### 3.2 Pasos de Instalación
- **Instalar XAMPP**:
- Descargar e instalar XAMPP.
- Iniciar Apache y MySQL: Abrir el Panel de Control de XAMPP y encender los servicios de Apache y MySQL.
- **Importar la Base de Datos**:
- Abrir el navegador web y acceder a [phpMyAdmin](http://localhost/phpmyadmin).
- Crear una nueva base de datos o seleccionar una base de datos existente.
- Usar la opción "Importar" para cargar el archivo SQL de la base de datos de NutriShop.
- **Composer**
- Descargar [Composer](https://getcomposer.org/Composer-Setup.exe)
```
composer init
```
- **Node.js**
- Descargar [Node.js](https://nodejs.org/en)
- escribir los siguientes comandos en el proyecto:
```
npm init -y
npm install tailwindcss postcss autoprefixer
npx tailwindcss init
npm install -g win-node-env
npm install -D postcss-cli
```
### **configuracion de tailwind.config.js**```
/** @type {import('tailwindcss').Config} */
module.exports = {
darkMode: "class",
content: [
"*.php",
"app/view/**/*.{php,js}"
],
theme: {
extend: {
backgroundColor: {
"blue-gray": "#688FAF",
"indigo": "#27348b",
"orange-light": "#fa900a",
"green-dark": "#00bf63",
"white-bone": "#eff6ff",
"dark-gray": "#191919",
"red-light": "#ff3131"
},
colors: {
"blue-gray": "#688FAF",
"indigo": "#27348b",
"orange-light": "#fa900a",
"green-dark": "#00bf63",
"white-bone": "#eff6ff",
"dark-gray": "#191919",
"red-light": "#ff3131"
}
},
},
plugins: [],
}
```
### **Configuración de postcss.config.js**
```
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};
```
## **Agregar esto en package.json**
```
"scripts": {
"build:tailwind": "npx tailwindcss -i ./app/view/css/tailwind.css -o ./app/view/css/main.css --watch",
"build:production": "NODE_ENV=production postcss ./app/view/css/tailwind.css -o ./app/view/css/main.css"
},
```## 4. Uso del Sistema
### 4.1 Funcionalidades Principales
La tienda en línea NutriShop ofrece una amplia gama de funcionalidades diseñadas para mejorar la experiencia del usuario y facilitar el proceso de compra de productos nutritivos. Algunas de las principales funcionalidades incluyen:- **Catálogo de Productos**: NutriShop presenta un catálogo completo de productos nutritivos, organizados de manera intuitiva en categorías y subcategorías para facilitar la búsqueda y selección de productos específicos.
- **Carrito de Compras**: Los usuarios pueden agregar productos a su carrito de compras y gestionar fácilmente las cantidades y variantes de los productos seleccionados antes de proceder al pago.
- **Proceso de Pago Seguro**: NutriShop ofrece un proceso de pago seguro, permitiendo a los usuarios completar sus transacciones de forma segura y confiable mediante métodos de pago populares y seguros.
- **Gestión de Cuenta de Usuario**: Los usuarios pueden crear y gestionar sus cuentas en NutriShop, lo que les permite acceder al historial de pedidos, guardar direcciones de envío, y recibir actualizaciones sobre promociones y ofertas especiales.
- **Funcionalidades Sociales**: NutriShop integra funcionalidades sociales que permiten a los usuarios compartir productos con amigos, dejar reseñas y calificaciones, y seguir a sus marcas y productos favoritos en las redes sociales.### 4.2 Navegación del Usuario
La navegación por NutriShop se ha diseñado para ser intuitiva y fácil de usar, permitiendo a los usuarios encontrar rápidamente los productos que desean comprar. Algunas pautas para la navegación eficiente incluyen:- **Búsqueda de Productos**: Los usuarios pueden utilizar la barra de búsqueda para buscar productos específicos por nombre, categoría o palabras clave relacionadas.
- **Exploración por Categorías**: NutriShop ofrece una navegación por categorías y subcategorías, lo que permite a los usuarios explorar productos por tipo o tema.
- **Filtros de Búsqueda**: Los usuarios pueden refinar sus resultados de búsqueda utilizando filtros como precio, marca, valoración y disponibilidad.
- **Vista de Producto Detallada**: Al hacer clic en un producto, los usuarios pueden ver detalles completos, incluyendo imágenes, descripción, precio y opciones de variante.
- **Proceso de Compra Intuitivo**: NutriShop guía a los usuarios a través de un proceso de compra paso a paso, desde la selección de productos hasta la finalización del pago, con indicaciones claras y opciones de navegación fácilmente accesibles.## 5. Mantenimiento y Actualizaciones
### 5.1 Mantenimiento Regular
Para garantizar el óptimo rendimiento y la estabilidad del sistema, es crucial realizar tareas de mantenimiento regularmente. Algunas de estas tareas incluyen:- **Actualización de Software**: Mantener actualizados todos los componentes del sistema, incluyendo el software del servidor, bibliotecas y plugins utilizados en la tienda en línea.
- **Monitorización del Rendimiento**: Supervisar el rendimiento del sistema y la disponibilidad del sitio web para identificar posibles problemas de rendimiento o tiempo de inactividad.
- **Gestión de Base de Datos**: Realizar copias de seguridad periódicas de la base de datos y optimizar su rendimiento mediante la eliminación de datos obsoletos o la optimización de consultas.
- **Seguridad**: Aplicar parches de seguridad y medidas de protección para prevenir ataques cibernéticos y vulnerabilidades de seguridad.
- **Pruebas de Funcionalidad**: Realizar pruebas periódicas para asegurar que todas las funcionalidades de la tienda en línea sigan operando correctamente y sin errores.### 5.2 Actualización del Sistema
El proceso de actualización del sistema es crucial para mantener la tienda en línea al día con las últimas versiones de software y características. Este proceso generalmente incluye:- **Evaluación de Actualizaciones Disponibles**: Revisar regularmente las actualizaciones disponibles para el software del servidor, bibliotecas y plugins utilizados en la tienda en línea.
- **Planificación de Actualizaciones**: Establecer un calendario de actualización que minimice el impacto en la disponibilidad del sitio web y en la experiencia del usuario.
- **Pruebas de Actualización**: Realizar pruebas exhaustivas en un entorno de desarrollo para asegurar que las actualizaciones no causen problemas de compatibilidad o funcionamiento inesperados.
- **Implementación Gradual**: Implementar las actualizaciones en un entorno de producción de manera gradual y controlada, monitoreando de cerca cualquier impacto en el rendimiento o la funcionalidad.
- **Comunicación con Usuarios**: Informar a los usuarios sobre las actualizaciones programadas y cualquier interrupción anticipada en el servicio durante el proceso de actualización.## 6. Licencia
### Tecnologías Utilizadas
- ![Static Badge](https://img.shields.io/badge/PhpMyAdmin-%236C78AF?style=for-the-badge&logo=phpmyadmin&logoColor=%23fff)
- ![Static Badge](https://img.shields.io/badge/tailwindcss-%2306B6D4?style=for-the-badge&logo=tailwindcss&logoColor=%23fff)
- ![Static Badge](https://img.shields.io/badge/postcss-%23DD3A0A?style=for-the-badge&logo=postcss&logoColor=%23fff)
- ![Static Badge](https://img.shields.io/badge/nodedotjs-%235FA04E?style=for-the-badge&logo=nodedotjs&logoColor=%23fff)## 7. Librerías
### phpdotenv
Es una biblioteca para PHP que facilita la gestión de configuraciones de entorno mediante archivos .env. Este enfoque ayuda a mantener las configuraciones sensibles, como credenciales de bases de datos, claves API y otras variables de entorno, fuera del código fuente, lo que mejora la seguridad y la flexibilidad del desarrollo.
### Eloquent
Eloquent es el ORM que viene con el framework Laravel. Sin embargo, también puede ser utilizado fuera de Laravel.
---
Para más detalles, consulta la documentación completa en cada sección correspondiente.