adkintunmobile-server's People
Forkers
zeeeroooadkintunmobile-server's Issues
Agregar seguridad al admin
Actualmente cualqueira peude acceder al admin. Eso debe mejorar.
Reparación de uso de librería Flask-SQLAlchemy
Actualmente se utilizan alternadamente las librerías SQLAlchemy y Flask-SQLAlchemy, y se decide utilizar la mayoría del tiempo esta última. Para esto debe repararse cada una de las clases ya definidas en el modelo.
Levantar página Adkmobile
Levantar la página del proyecto adkintunmobile, con la información relativa al mismo. Esta será alojada en páginas de github.
Implementación del Modelo
Implementar el modelo ya diseñado de Adkintun Mobile para el almacenamiento de datos.
Diferenciar tipos de traffic event al guardar
Lograr que el script de procesamiento se corra periodicamente
Implementar algún método para que le script de procesamiento corra periódicamente.
Revisar excepciones posibles en el envío de eventos
La mayoría de los métodos suponen un uso correcto de la API. Evitar problemas futuros.
Agregar modelo APPLICATION
Agregar el modelo APPLICATION, el cual servirá para almacenar las distintas aplicaciones android utilizadas por los usuarios de Adkmobile. Estos objetos tienen dos tributos importantes: id y package_name. Además, se agregará a la BD.
Crear dump de Telco
Crear un dump inicial con las telcos a utilizar en la aplicación y establecer la forma de que se inicialicen al instalar la aplicación, a fin de comenzar con los datos requeridos.
Documentar Modelos y agregación de elementos
Documentar toda la creación de los modelos, la estructura de la base de datos, y el agregamiento de los distintos elementos a la BD.
Agregar busqueda y creacion de aplicaciones por package_name
Creación de relación device_sim
Agregar al modelo la relación device_sim y sus métodos relacionados a fin de mantener esta relación en el sistema.
Definir que datos identifican un device en Android
En la versión antigua de adkintun se enviaban los siguientes datos:
brand
board
build_id
device
hardware
manufacturer
model
release
release_type
product
sdk
Es necesario definir que datos identifican un dispositivo para saber si ya está en la base de datos
Pensar registro de aplicaciones en el servidor
En algún momento queremos dar estadísticas por aplicación, por lo cual es importante poder identificarlas.
Implementar script que genere el reporte de datos
La idea es generar un método que procese los datos obtenidos en un periodo de tiempo y los almacene en la tabla de informes.
Revisar modelo de SIM
Revisar que las variables de la clase SIM reflejen los atributos necesarios para las tablas de dichos elementos. Además, hacer las modificaciones a los métodos y definiciones en caso de ser necesario, con las migraciones pertinentes en caso de ser necesario.
Merge gh-pages con master
La idea es unir ambas ramas y dejar por defecto la página mostrada en gh-pages
Analizar posibilidad de registrar desconexiones por empresa
Revisar que significan exactamente esos registros a partir de los móviles y ver la posibilidad de agregarlo a las estadísticas a mostrar.
Test para guardado de eventos como string
Cambiar wsgi para aceptar múltiples conexiones.
Recomendación http://www.gevent.org/gevent.pywsgi.html
Hacer refactoring tests
Hacer un pequeño refactoring de los test, dado que hay bastante código repetido en los que prueban el envío de eventos.
Revisar modelo CARRIER
Crear método API para almacenar eventos
Implementar una API para la recepción de eventos.
Consultas de reporte con filtro de fechas
Definir los reportes a generar en las aplicaciones
Esto debe hacerse tanto para la aplicación móvil como para la aplicación web. Necesitamos tener claro bien cuales son las ideas para poder definir bien las tablas y rutinas de procesamiento de datos.
Crear método API para almacenar dispositivos
Implementar API que reciba los datos de un dispositivo y lo cree en el servidor en caso de no existir.
Revisar modelo DEVICE
Revisar que las variables de la clase DEVICE reflejen los atributos necesarios para las tablas de dichos elementos. Además, hacer las modificaciones a los métodos y definiciones en caso de ser necesario, con las migraciones pertinentes.
Creación de relación antenna_carrier
Agregar al modelo la relación antenna_carrier y sus métodos relacionados a fin de mantener esta relación en el sistema.
Agregar un conteo de eventos por post
Algo simple, en el log del servidor.
Clasificar eventos al recibirlos
Crear una forma de categorizar los eventos al recibirlos mediante la API y almacenarlos.
Ordenar statics
Actualmetne hay dos carpetas static, dejar sólo una con las referencias correctas
Documentar Modelo e implementaciones del Milestone 1
Para eso usar la misma wiki de github.
Estudiar Antenas
Estudiar los datos de antenas con que contamos actualmente, y cuales podemos obtener de futuras mediciones. Todo esto, en función de saber que tan válidas son las locaciones de antenas almacenadas, y cual es la posibilidad de adquirir más, a fin de poder hacer caracterizaciones de distintas localidades (comunas) en función de la calidad de su señal.
Implementar protocolo oauth
Agregar los modelos pertinentes al Admin
Actualmente sólo al clase sim está agregada.
Implementar forma de crear y recuperar dumps de la BD
La idea es tener una forma de crear dumps de tablas de la BD a json (en particular de telcos y antennas) y a su vez tener un método de volver a cargar dicha información a la BD en una nueva instancia del servidor.
Creación de relaciones faltantes entre eventos
Creación de las relaciones que quedaron pendientes entre eventos, devices, sims, carrier, etc.
Diferenciar tipos de Telephony event al guardar
Diferenciar entre GSM y CDMA
Creación de modelos de Eventos
Creación de todos los modelos de eventos, utilizando herencia para una división correcta de los distintos casos a guardar. Estos son:
- Event
- ConnectivityEvent
- TrafficEvent
- ApplicationTrafficEvent
- MobileTrafficEvent
- WifiTrafficEvent
-TelephonyObservationEvent - CdmaEvent
- GsmEvent
- StateChangeEvent
recibir app_version_code
Notar que dicho valor vendrá en el device_records
Revisar modelo ANTENNA
Revisar que las variables de la clase ANTENNA reflejen los atributos necesarios para las tablas de dichos elementos. Además, hacer las modificaciones a los métodos y definiciones en caso de ser necesario, con las migraciones pertinentes.
Generar estadísticas generales
Generar método que calcule:
- Total de equipos que han entregado datos
- Total de sims registradas
- Total de mediciones de señal registradas (GSM)
- Equipos por compañía
- Sims por compañía
- Mediciones efectuadas por compañía
Definir protocolo de autorización para utilizar la API
Se debe definir protocolo que permita asegurar que los datos son enviados por la aplicación adkintun mobile
Crear método API para almacenar SIM
Implementar método API que reciba los datos de una SIM y la cree en el servidor en caso de no existir. Además, debe vincularla al dispositivo.
Creación modelo DatosProcesados
Esta tabla servirá para almacenar los datos procesados en cada periodo de tiempo. Su PK será la fecha (dd/mm/yyyyy) de creación.
Refactoring a los imports de los modelos
Reparar los distintos import que se hacen en los distintos modelos, ya que se referencia con rutas a archivos, cargando todas las clases innecesariamente.
Registro de device y sim en registro de eventos
Import consensus and models
Imports are not clearly organized. The models package location should be relocated.
Implementación de protocolo de autentificación para acceder a la API
Implementar una comunicación autentificada entre la app android y el servidor web.
Definir métricas para comparar operadoras
Definir algún mecanismo sólido para poder comparar el desempeño de dos operadores dependiendo lo que miden sus usuarios respecto a su señal.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.