Skip to content

hugobarzano/NoInventory

Repository files navigation

#NO-INVENTORY

##Trabajo de Fin de Grado - Programa Becas Talentum StartUP

############################################################################

Build Status Build Status Heroku DockerHub Azure No-Inventory-Android-apk

############################################################################

###Descripción

No-Inventory es un sistema alojado en la nube para la gestión de inventarios o almacén. El sistema permite registrar nuevos elementos en función de las preferencias de cada usuario. Dichos elementos se pueden agrupar en colecciones denominadas catálogos, con el objetivo de mantener el orden en el almacén y llevar el control del estado del inventario.

No-Inventory proporciona un entorno colaborativo que permite trabajar a distintos usuarios agrupados por organizaciones. El sistema genera la información necesaria para identificar de manera única cada elemento y mediante su extensión android, tiene soporte para realizar las tareas de gestión mediante códigos de barras, códigos QR o etiquetas NFC. El objetivo principal de complementar la plataforma web con tecnologías móviles es optimizar y minimizar el tiempo y dinero que conllevan las tareas básicas de inventariado.

Blog: http://no-inventory.es/

Twiiter: @no_inventory

Contacto: hugobarzano@gmail.com

Licencia

##No-Inventory: Release v1.0

Relase generado para el certamen de proyectos de la UGR. Mayo de 2016

No-Inventory v1.0

###Plataforma Web

La plataforma web esta desarrollada sobre Django, el framework de alto nivel y open source de Python. El modelo de datos esta basado en clases python que interactúan con la base de datos mongoDB, externa el framework mediante el cliente Pymongo. Esto se traduce en un incremento de eficiencia y en el aprovechamiento de la libertad y flexibilidad que otorgan las bases de datos NO-SQL

Para mejorar la experiencia del usuario dentro de la plataforma web, se utilizan técnicas de programación en Fron-End basadas en Ajax, Javascript y Jquery.

La plataforma web utiliza API-REST de Google para generar los códigos QR y los códigos de barras dinámicamente. La plataforma web cuenta con el potente editor en tiempo real “NiceEditor” para el proceso de generación y edición de informes. La plataforma utiliza la librería Javascript “Highcharts” para la generación de gráficos. La plataforma utiliza el paquete “Pisa” para exportar informes e identificadores a formato PDF.

La plataforma utiliza el modulo “django-registration-redux” que garantiza la seguridad y la autenticación de usuarios, tanto para la plataforma web como para la extensión Android.

La plataforma utiliza el cliente de mensajería Send-Grid para mostrar el buzón de incidencias en la pagina principal. Esto permite que los usuarios puedan contactar con el administrador en caso de algún problema o contactar con las distintas organizaciones que utilizan el sistema.

###Infraestructura

El sistema cuenta con diversoso tipos de infraestrutura.

PaaS: Heroku

IaaS: Azure

Infraestructura basada en docker

Infraestructura basada en docker con composicion de Servicios

Infraestructura basada en herramientas de configuración para entornos virtuales de desarrollo web

- Vagrant
- Ansible

Para consegir esto, se ha utilizado MLab, servicio de base de datos en la nube completamente gestionado que aloja bases de datos MongoDB. MLab se ejecuta en proveedores de la nube de Amazon, Google y Microsoft Azure.

###Aplicación Android La aplicación Android se encuentra alojada en el repositorio [NoInventory-Android-Apps] (https://github.com/hugobarzano/NoInventory-Android-Apps/tree/master/Noinventory) Esta extensión de la plataforma es la encargada de la tareas de clasificación. Permite leer/escribir los codigos de barras, codigos qr o etiquetas nfc que identifican a los objetos. Puede descargarse desde aquí.

No-Inventory-Android-apk

Diseño de la aplicacion Con NinjaMock - Baja Fidelidad

###Documentación

La documentación del proyecto se encuentra en este directorio. Se está realizando con LaTEX y puede descargarse aquí.

No-Inventory-DOC

Instalación Local

Instalación Local de la aplicación

###Despliegues

Los distintos despliegues se pueden realizar con la herramienta de construcción Makefile o con el archivo Vagrant para configuración de entornos de desarrollo virtuales:

- make heroku

- make docker

- make docker_compose

- vagrant up --provider=azure

Desarrollo Basado en TDD

Test Propios:

Test Clasificación

Test Item

Test Catálogo

Test Informe

Test Django:

Test.py

Test Navegación:

Test con Selenium

###Presentaciónes

Hackaton Marzo

Hackaton Mayo

Final Certamen Proyectos

###Inscripción en el concurso de software libre

inscripcion