Giter VIP home page Giter VIP logo

webcams_de_asturias's Introduction

Status Maintenance License

Webcams de Asturias

Aplicación Web Progresiva (PWA) que muestra Imágenes de cámaras web situadas en el Principado de Asturias

Este es un proyecto experimental que pone en práctica diversos patrones, arquitecturas y tecnologías en una aplicación desarrollada en AngularJS.

NOTA: Las imágenes han sido omitidas por reclamaciones de copyright pero se ha dejado el proyecto online como referencia para posteriores consultas del autor o de cualquier persona interesada en los conceptos técnicos que se utilizan. Cualquier comentario o sugerencia puede ser formulado en la sección "Issues".

Características

  • Arquitectura:

    • Business Layer diseñada en base a Programación Orientada a Objetos
    • Uso del Patrón MVC para separación de responsabilidades
    • Uso del patrónRepository para gestionar las consultas a la base de datos
    • Uso de Route Resolvers
    • Uso de una base de datos NoSQL ligera para mantener el estado en memoria
      • El estado de la aplicación consiste en una colección de objetos JSON que se cargan desde el backend y se mantienen en memoria.
      • Las consultas han sido diseñadas ad hoc sin ninguna otra capa de abstracción adicional.
      • La persistencia se lleva a cabo mediante una base de datos de Google Fusion Tables.

    (NOTA: las nuevas versiones de Angular utilizan una arquitectura basada en componentes en lugar del Patrón MVC).

    Referencias:

  • Posibiliad de instalación local (tanto móvil como desktop) gracias al uso de un fichero manifest.json

  • Capacidad de funcionamiento off-line por medio de un service worker

Demo

  • Nota: en caso de que la applicación no cargue correctamente debido a conflictos con la caché del service worker, intentar estas opciones:

    • Intentar recargar la app varias veces
    • Usar una ventana de incógnito del navegador
    • Borrar los recursos cacheados por el service worker
  • Simulador móvil

  • Pantalla grande

  • Usar QR code para ver en smartphone:

Funcionalidad

Las cámaras están agrupadas según las siguientes categorías:

  • Playas
  • Poblaciones
  • Puertos (marítimos)
  • Montaña

Hay tres formas de visualizar las imágenes de las webcams:

  • Listado
  • Mosaico
  • Mapa

También se pueden filtrar según distintos criterios:

  • Por categoría
  • Por concejo
  • Búsqueda por cadena de texto

Como valor añadido se pueden consultar diversas informaciones, como la temperatura, imágenes de satélite, y estadísticas de la base de datos.

Modelo UML

Tecnologías

  • Ionic Framework 1+ (Interfaz de usuario)

  • AngularJS

  • Base de Datos: Google Fusion Tables

  • Intel Crosswalk Runtime (Compilación cruzada a Android e IOS)


(English)

Progressive Web App (PWA) showing real time images from webcams located at the Principality of Asturias

  • This is an experimental project to put in practice several patterns, best practices and technologies using the AngularJS framework. It has been created as reference for the author or anyone interested in this topic. Feel free to send any comment or sugerence in the Issues section.

  • Waring: In case of problems loading the app caused by the service worker cache, try this options:

    • Try to reload several times the page
    • Use an incongito window
    • Clear manually the browser cache
  • Architecture and features:

    • Business Layer design based on Object Oriented Programming
    • Use of MVC Pattern for separation of concerns
    • Use of Route Resolvers
    • Use of a ** in-memory JSON database** to keep app state
    • Use of ad hoc designed queries
    • User of Google Fusion Tables as database back-end for persistence
    • Use of a Service Worker to enable off-line capabilities (PWA)

    NOTE: Modern versions of Angular use a component-based architecture instead of MVC Pattern.

  • References:

webcams_de_asturias's People

Contributors

yagolopez avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

johnfelipe

webcams_de_asturias's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.