Code Monkey home page Code Monkey logo

projeto-integrador-em-computacao-iii's Introduction

Projeto Integrador em Computacao III

Objetivo: Desenvolver um software com framework web ou aplicativo que utilize:

  1. Banco de dados,
  2. Inclua script web (Javascript),
  3. Nuvem,
  4. Acessibilidade,
  5. Controle de versão,
  6. Integração contínua e
  7. Testes.
  8. Incluir um dos: Uso e fornecimento de API, Análises de dados e IoT.

Ementa: Resolução de problemas; Levantamento de requisitos; Desenvolvimento web com framework; Desenvolvimento de aplicativo; HTML, CSS; Linguagem de script; Banco de Dados; Controle de Versão; Nuvem; API; Acessibilidade; Integração Contínua; Testes; Análise de dados; IoT.

Data: 2o Semestre, 2022.

O Projeto Escolhido

Software para acompanhamento de humidade e temperaturas de ambientes, realizado desde a extração e tratamento dos dados assim como sua apresentação.

Dor:

Como medir ...

Solução:

Criar um software que permita medir, armazenar e apresentar os dados de temperatura e humidade extraidos

Funcionalidades:

  1. Criar conta...

  2. Área Administrativa para:

    1. Cadastrar ...
    2. Cadastrar....
    3. Cadastrar...
  3. Área de Usuário para:

    1. Imput...
    2. Dashboard....
  4. API-REST para:

    1. POST....
    2. GET...

Tecnologias Escolhidas para Implementar:

  1. Código:

    1. Linguagem de Programação: Python (https://www.python.org).
    2. Framework Web: Django (https://www.djangoproject.com).
    3. Bibliotecas: django-allauth (https://www.intenct.nl/projects/django-allauth).
    4. Bando de Dados: MySQL (https://www.mysql.com).
    5. Controle de Versões: Github (https://github.com).
  2. Infraestrutura de Nuvem:

    1. Servidor físico na nuvem utilizando So you Start (https://www.soyoustart.com).
    2. Sistema operacional do Servidor utilizando Linux distribuição Debian 11 (https://www.debian.org).
    3. Containers em docker utilizando docker-compose (https://www.docker.com).
    4. Registro de domínio publico utilizando Registro Br (https://registro.br).
    5. Gerenciamento de DNS público e Registro de hostnames (https://www.cloudflare.com).
    6. Certificado de segurança SSL/HTTPS utilizando Let's Encrypt (https://letsencrypt.org).
    7. Serviço de envio de e-Mails Sendgrid (https://sendgrid.com).
  3. Arquitetura:

Estrutura de microserviços com (arquitetura em n-níveis) utilizando um container docker para cada um dos servicos abaixo:

  1. Proxy Reverso utilizando Traefik (https://traefik.io).
  2. Banco de Dados utilizando MySQL (https://www.mysql.com).
  3. Aplicação Django utilizando Gunicorn (https://gunicorn.org).


Links:

  1. Gerenciamento do Projeto: https://github.com/acremonezi/Projeto-Integrador-em-Computacao-III/projects/1
  2. Documentação:
  3. Protótipo:
  4. Data Models:
  5. Arquitetura:
  6. Repositório Git: https://github.com/acremonezi/Projeto-Integrador-em-Computacao-III/
  7. Versões do Software: https://github.com/acremonezi/Projeto-Integrador-em-Computacao-III/releases
  8. Software:
  9. Vídeo:

projeto-integrador-em-computacao-iii's People

Contributors

2005869 avatar acremonezi avatar aguilhen avatar ioformigoni avatar josy00 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

projeto-integrador-em-computacao-iii's Issues

Frontend - Graphs and table

Show graphs under "Gráfico" tab and data under "Analítico" tab
-> No filter (use 5 days as standard for now)

(dependency: #39 Frontend - Main page)

add sqlite

add sqlite to store project configurations

separate influx and sqlite3

database.js is confused with two databases distincts in same file. Mission: separate in two files and repair imports.

Firmware - Add Display capability

Add:

  1. Temperature
  2. Humidity
  3. Device MAC Address
  4. Status MQTT (Boolean: Connected or NOT Connected)
  5. Status Wifi (Boolean: Connected or NOT Connected)

Multitasking

Need to:

Task 1:
a. Read sensor
b. Check wifi connection
c. If connection ok, send data, else try (b) again
d. After sending data, close connection
e. wait for next interaction

Task 2:
a. Read sensor
b. If any sensor event, update display

--->>> Do not use delay

Download CSV

add CSV download function to button

(dependency: #39 Frontend - Main page)

Update README.md

Update README.md file with real PI-03 Information becouse it is still using the text from PI-02.

Circuit Diagram

Do a Fritzing Diagram with:

  • DHT Sensor
  • LED RGB
  • Dispplay OLED
  • ESP32 or ESP8266
    Note: Use the same pins of the code and put diagram in folder hardware/src/docs/Fritzing/

Firmware - Implement Wifi Reconnect

The issue:

  • Electronic device top sending mqtt messages, but it start sending again if the micro controller is reset.

Possible solution (needs evaluation):

  • Find a way to check wifi connectivity and make it re-connect it itself.

login system

Do a login system with:

  • a sign up page hidden
  • a sign page with login in navbar
  • include session user
  • a middleware to control the access

Objective:

  • only admin users can set up the devices

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.