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:
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
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:
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.