Skip to content

Charly3012/Tienda_API

Repository files navigation

Tienda_API - BackEnd

Aplicación BackEnd para un sistema de venta en una tienda u otro comercio.

Contenido

Sobre el proyecto

El objetivo de este proyecto es desarrollar una aplicación de gestión para una tienda de productos, que permita la administración eficiente de ventas y productos. La aplicación proporcionará funcionalidades para:

  1. Gestión de Productos: Permitir el registro, actualización y eliminación de productos, así como la consulta de su información. Incluye la gestión de categorías para clasificar los productos.

  2. Registro de Ventas: Facilitar la creación de ventas, donde los usuarios puedan registrar las compras realizadas, asociando productos con sus detalles (precio unitario, cantidad, subtotal) y calcular el total de la venta incluyendo el IVA.

  3. Gestión de Detalles de Venta: Administrar los detalles de cada venta, garantizando que se registren correctamente los productos involucrados, así como sus precios y cantidades.

  4. Persistencia de Datos: Utilizar una base de datos SQL Server para almacenar toda la información relacionada con productos, categorías y ventas, asegurando la integridad y disponibilidad de los datos.

  5. Interfaz y Documentación: Proporcionar una API RESTful que sea fácil de utilizar y documentar con Swagger, permitiendo a los desarrolladores integrarse rápidamente con el sistema y comprender sus funcionalidades.

El sistema busca optimizar el proceso de venta y gestión de productos, ofreciendo una solución robusta y eficiente para la tienda.

Tecnologías Utilizadas

  • C#
  • .NET 8
  • ASP.NET
  • Entity Framework
  • SQL Server
  • Swagger

Características

  • Gestión de productos y categorías.
  • Registro de ventas con detalles de productos.
  • Cálculo de subtotales, totales e IVA en las ventas.

Uso con Docker Compose Docker

Este proyecto utiliza Docker Compose para facilitar la configuración y el despliegue de la aplicación y la base de datos SQL Server. A continuación se detallan los pasos para levantar la aplicación utilizando Docker Compose.

Requisitos Previos

Instrucciones

  1. Crear el archivo docker-compose.yml con la siguiente estructura
version: '3.8'

services:
  sqlServerDocker:
    container_name: sql-server-docker
    image: mcr.microsoft.com/mssql/server:2022-latest
    ports:
      - "8006:1433"
    environment:
      - ACCEPT_EULA=Y
      - MSSQL_SA_PASSWORD=MiContrasena*1234
    networks:
      - mynetworkapi

  apitienda:
    container_name: apiTienda
    image: charly3012/apitienda:1.0
    environment:
      - DB_CONNECTION_STRING=Server=sqlServerDocker;Database=ApiTienda;User ID=sa;Password=MiContrasena*1234;Trusted_Connection=False;TrustServerCertificate=True;MultipleActiveResultSets=True
    networks:
      - mynetworkapi
    depends_on:
      - sqlServerDocker
    ports:
      - "5001:8080"
      - "5002:8081"

networks:
  mynetworkapi:
  1. Construir y desplegar los contenedores

    docker-compose up -d
  2. Accede a la aplicación:

Una vez que los contenedores estén corriendo, puedes acceder a la API en el siguiente URL:

API: http://localhost:5001
Swagger: http://localhost:5001/swagger

Notas

  • Asegúrate de que el puerto 5001 no este siendo utilizado por otras aplicaciones en tu máquina.
  • Puedes ajustar las configuraciones de puerto y otras variables de entorno en el archivo docker-compose.yml según tus necesidades.

Despliegue de la API Linux Ubuntu

La API ha sido desplegada en un servidor Linux, el cual es un proyecto personal, utilizando Docker Compose. Puedes acceder a los endpoints de la API y a la interfaz de Swagger para explorar y probar los servicios disponibles.

Acceso a la API

La API está disponible en los siguientes puertos:

HTTP: http://apolo.myftp.org:5001/api/<Método HTTP>
HTTPS: Proximamente...

Interfaz de Swagger

Puedes acceder a la documentación interactiva de la API proporcionada por Swagger
Nota: Cambiar el protocolo a http (por defecto lo abre en https)
Documentación de la API

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors