Skip to content

AdanJoGoHe/XamarinProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tienda_Informatica_OldSolutions

Aplicación piloto con Xamarin - mysql - node

Autor : Adán José Gómez Hernández

Contacto : AdanJoGoHe@gmail.com

Imagen Pila Tecnologica

El objetivo del proyecto será la creación de un sistema de gestión reparaciones para una tienda física de informática. La aplicación tendrá numerosas funcionalidades relacionadas con reparar productos.

El cliente y la idea son ficticias, existen con el fin de dar un propósito a la aplicación, también estoy utilizando este proyecto para afianzarme con GIT y GITHub. Se esperan fallos con el fin de aprender.

Tabla de contenidos

  1. Descripción de la idea
  2. Descripción de la base de datos
  3. Mockups y vistas
  4. Descripción de la aplicación
  5. Herramientas Utilizadas

Descripción de la idea

El cliente me ha solicitado la creación de un programa para la gestión de reparaciones que realizan en la tienda creando una aplicación que sean capaz de manejar a través del móvil.

Las reparaciones se realizaran sobre equipos informáticos como ordenadores o servidores.

Cuando un cliente solicite una reparación y haya sido tramitada se le dará un ticket con un numero, este numero a través de la web podrá ver el estado del producto, las reparaciones tendrán varios estados que serán explicados a continuación.

Historias de usuario

Las reparaciones se podrán crear, donde se le dará un tiempo estimado para la reparación el cual sera genérico de 2 días.

Las reparaciones se podrán posponer, donde se podrá alargar el plazo del tiempo estimado para la reparación en caso de que se complique la reparación.

Las reparaciones se podrán suspender, donde se suspenderá la reparación en caso de que haya sido reparado y nadie lo haya recogido a las 2 semanas.

Las reparaciones se podrán terminar, este caso ocurrirá cuando el producto a reparar haya sido reparado y este listo para entregar, se guardara la fecha de reparación.

Las reparaciones se podrán entregar, el producto ha sido reparado y entregado al cliente se guardara la fecha de entrega.

Las reparaciones se podrán eliminar, el producto ha sido devuelto sin reparar por circunstancias varias.

También, se debe poder gestionar los operadores, clientes y productos desde la propia aplicación.

Descripción de la base de datos


-- Versión del servidor: 5.7.24 - MySQL Community Server (GPL)

-- SO del servidor: Linux

-- HeidiSQL Versión: 9.5.0.5196


Creacion de la base de datos y las tablas : https://pastebin.com/NwU5tVp0

Diagrama entidad relación

hola

Otra posible solución.

Tablas

Tabla Cliente

El cliente compra reparacion. El cliente contendrá un nombre, también tendremos un telefono_contacto donde almacenaremos el teléfono , una contraseña y un id_cliente.

Tabla Operador

El operador realiza reparación. El operador tendrá un, nombre un apellido, un dni, una contraseña y un id_operador.

Tabla Producto

El producto es utilizado en reparacion, almacenaremos el nombre del producto, una descripcion del mismo y una id_producto.

Tabla Reparación

De la REPARACION guardaremos :

  • id_reparacion Integer auto-incrementado.

  • id_cliente id del cliente que la haya solicitado.

  • id_operador id del operador que tome la reparación.

  • fecha_entrega Fecha en la que el cliente entregada el objeto a reparar a la tienda.

  • fecha_estimada Por defecto dos días después de recoger el pedido aunque puede ser aplazada manualmente por un operador.

  • fecha_reparacion La fecha en la que se ha reparado el producto.

  • fecha_recogida La fecha en la que el objeto es devuelto al propietario.

  • estado de la reparación que estará limitado a 5 estados que serán "En proceso","Reparado","Entregado", "Entregado sin reparar" y "Detenida",.

  • descripcion que puede ser la idea aproximada del problema.

  • precio_total Precio de los productos utilizados en la reparación y tarifa.

MockUps y Vistas.

MockUp interactivo

https://app.moqups.com/adanjogohe@gmail.com/R6m1FFlfTT/view

Vistas

Descripción del servidor

Tecnología : NodeJS

Sistema Operativo : Windows 10(Posible cambio a debian)

Manual de Instalación y uso :WIP

Dependencias utilizadas :

Ejemplo :

Caso Descripción
Titulo ip+puerto/operador
Método GET
Parametros de la URL No tiene
Parametros de datos No tiene
Respuesta con exito Contenido de ejemplo :
{"id_operador":14,"dni":"74859117X","nombre":"Adreso","apellidos":"Plisu","password":null},{"id_operador":15,"dni":"45346569E","nombre":"Adan","apellidos":"Leonhardt","password":"dd94709528bb1c83d08f3088d4043f4742891f4f"}]

POSTMAN

Descripción de la aplicación


-- Tecnología : Xamarin

-- Sistema Operativo : Windows 10

-- Manual de Instalación y uso :WIP

-- Dependencias utilizadas :


Linting

El software que utilice para mejorar el código es SonarAnalyzer que se instala como complemento en el proyecto.

Funcionalidades

La aplicación contara con un CRUD desde la aplicación a el servicio web.

Se deberá poder gestionar :

  • Clientes
  • Productos
  • Operadores
  • Reparaciones

Sobre reparaciones :

El estado Crear reparación constara de un create que creara una tupla en la base de datos con los respectivos datos introducidos en la aplicación.

Al crear la reparación el campo estado se pondrá en el estado "en proceso" sin ninguna acción por parte del operario.

El estado posponer reparación constara de un put que modificara el campo "fecha estimada" que aumentara el plazo de la reparación del producto, el producto se pondrá en el estado "en proceso" si no lo estaba ya.

El estado terminar reparación constara de un put que modificara el campo "fecha de reparación" con la fecha dada por el operador, el estado pasara a "Terminado".

El estado suspender reparación constara de un put que modificara el estado por "Suspendido".

El estado reparación terminada constara de un put del campo "fecha de entrega" por la fecha dada por el operador y el campo estado se pondrá en "terminado".

Diagrama de clases

hola

Casos de uso

Manual de usuario

Acción Uso GIF
Añadir (Generico a todas las clases) Una vez dentro de la vista se seleccionara sobre el boton "Add" posicionado en la parte superior derecha, una vez dentro de la nueva vista se añadiran los datos pertinentes y seleccionaremos el boton Add posicionado en la parte inferior.
Modificar(Generico a todas las clases) Una vez dentro de la vista se seleccionara el item que quieras modificar, dentro se cambiara el dato que quisieras cambiar y pulsar sobre "modificar"
Eliminar(Generico a todas las clases) Una vez dentro de la vista se seleccionara el item que quieras eliminar, dentro se pulsara sobre "eliminar"

Comparación con tecnologías

Tecnología Ventajas Inconvenientes
XAMARIN -Compatibilidad Multiplataforma(iOS,Android,Windows)
-Soporte de microsoft
-Ligado al IDE Visual studio
-Como presento en la documentación, las interfaces se hacen a codigo XML y no tiene un diseñador
-Herramienta no tan conocida
Ionic(framwork) -Compatibilidad en iOS y Android
Información abundante
-Dado que es un herramienta en desarrollo, hay que adaptarse a los cambios
Android(studio) -Gran cantidad de informacion y documentación
-Alta demanda
-Solo desplegable en Dispositivos Android

Tests

clipboard

Herramientas Utilizadas

Una descripción de las herramientas y tecnologías utilizadas en este proyecto.

Tecnologías utilizadas :

Tecnología Descripción
Xamarin o para ser mas especifico xamarin.forms es la tecnología principal de este proyecto, su premisa consiste en el desarrollo de una aplicación móvil que programando una base de código(codebase), se despliegue para todas las plataformas móviles(Android,IOS,Windows). he utilizado el paquete Newtonsoft.Json
MySQL es un gestor de base de datos relacionales muy popular en el mercado actual, este se encargara de el almacenamiento.
NodeJS Se encargara de la parte de el apartado del servidor redirigiendo las conexiones a la base de datos.

Software :

Herramienta Descripción
Visual studio 2017 es la herramienta necesaria para poder programar en xamarin, es una herramienta muy customizable desarrollada por microsoft.
HeidiSql es un conector de bases de datos que funciona tanto con Mysql como con postgreSQL, es Open source y completamente gratis.
Visual Studio Code es un editor de codigo desarrollado por Microsoft el cual integra sistemas como Git.

About

First interaction with Xamarin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published