Giter Club home page Giter Club logo

dam-final's Introduction

Desarrollo de Aplicaciones Multiplataforma

Repositorio con el proyecto final de la materia DAM de la CEIoT de la FiUBA.

Descripción del Proyecto

Logo Domotico

Este proyecto consta de una aplicación de un sistema domótico desarrollado con Angular e Ionic que permite controlar dispositivos electrónicos del hogar, ya sea el estado (encendido/apagado) como en intensidad (de 0% a 100%). Permite a los usuarios visualizar, controlar y programar (mediante un modal) dispositivos. También ver los detalles de los grupos.

Características del Sistema

  • Visualización y Control: Los usuarios pueden listar consumos o grupos de dispositivos. Pueden controlar tanto el estado de encendido como la intensidad de 0% a 100%. Tanto los consumos como los grupos tienen opciones para ver detalles.
  • Programación de Dispositivos: Interfaz para programar los horarios de operación usando modales de Ionic.
  • Gestión de Usuarios: Control y acceso seguro mediante una base de datos de usuarios (ver abajo detalle de usuarios y contraseña creadas para la prueba).

Tecnologías Utilizadas

  • Frontend: Angular 11, Ionic 5
  • Backend: Node.js, Express
  • Base de Datos: MySQL
  • Orquestación: Docker

Cumplimiento de Requisitos

  • Directivas Estructurales: Implementadas con ngIf y ngFor en varios componentes del sistema para renderizado condicional y listas dinámicas.
  • Directiva de Atributo: CustomHighlightDirective en /src/app/directives para cambiar estilos dinámicamente basados en el estado del dispositivo. En este caso se muestran de color verde los consumos que se encuentran encendidos.
  • Pipe Custom: MayusculasPipe en /src/app/pipes para transformar textos a mayúsculas. Se usa para colocar el nombre de usuario en mayúscula en el mensaje de bienvenida.
  • Servicio para la API: ApiService en /src/app/services para manejar todas las interacciones con el backend.
  • API en Express: Backend en Node.js que maneja la lógica de negocio y la comunicación con la base de datos MySQL.

Configuración y Ejecución con Docker

Se utiliza Docker para facilitar la configuración y ejecución del proyecto. En la raíz se encuentra el docker-compose.yml utilizado para levantar los servicios necesarios.

Inicia con 2 usuarios creados para login:

Username: pedro

Password: 1234

ó

Username: gonza

Password: 1234

Contacto

Docente: Pedro Rosito - [email protected]

Alumno: Gonzalo Carvallo - [email protected]

dam-final's People

Contributors

gonzacarv avatar

Watchers

 avatar

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.