Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • E emm-webapp
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 2
    • Issues 2
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • EMM
  • emm-webapp
  • Wiki
  • Home

Last edited by Nelso Jost Feb 09, 2016
Page history

Home

Apresentação

Como parte do projeto da Estações Meteorológicas Modulares (Grupo CTA, UFRGS), este repositório contém o código-fonte do site/web-app utilizado para armazenamento e compartilhamento de dados meteorológicos em um servidor remoto. Atuamente encontra-se ativo no endereço:

  • http://dados.cta.if.ufrgs.br/emm

Tecnologias utilizadas

Uma das principais filosofias desse projeto consiste no uso de tecnologias abertas (open-source).

Backend

  • Python 3: Linguagem em foi escrito o backend da web app.

  • Flask: Framework de Python para construção de sites e aplicações web.

  • SQL Alchemy: ORM (Object Relational Mapper) que permite manipulação completa de bancos de dados do tipo SQL através de objetos Python.

Frontend

  • Bootstrap: Web design.

  • Dygraphs: Plotagem dos gráficos.

Servidor de produção

  • Linux Debian: Sistema operacional livre.

  • MySQL: Servidor de banco de dados relacional.

  • Gunicorn: Servidor WSGI (comunica-se com o processo Python).

  • Nginx: Servidor de proxy (redireciona requests da porta 80 para o servidor WSGI).

Banco de dados

O design atual utiliza o seguinte modelo relacional:

db_schema.svg

O banco de dados é gerenciado em Python através do ORM (Object Relational Mapper) SQL Alchemy. Nesse paradigma, uma tabela no banco de dados é representada por uma classe em Python -- daí o uso informal da notação UML no diagrama.

Clone repository
  • Home

Os conteúdos dos repositórios estão sob licenças livres e são responsabilidade dos próprios autores, não representando as opiniões e posicionamento da UFRGS ou do CTA.