@ -0,0 +1,18 @@ |
|||||
|
MAINNAME=relatorio |
||||
|
|
||||
|
all: |
||||
|
mkdir -p build |
||||
|
cp *.tex build |
||||
|
cp -fR imagens build/ |
||||
|
cp -fR capitulos build/ |
||||
|
cp Makefile build/ |
||||
|
make -C build build |
||||
|
|
||||
|
build: |
||||
|
pdflatex ${MAINNAME}.tex |
||||
|
pdflatex ${MAINNAME}.tex |
||||
|
cp ${MAINNAME}.pdf ../ |
||||
|
|
||||
|
clean: |
||||
|
rm -fR build |
||||
|
rm -fR ${MAINNAME}.pdf |
@ -0,0 +1,20 @@ |
|||||
|
BEGIN; |
||||
|
CREATE TABLE "casas_casalegislativa" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"nome" varchar(60) NOT NULL, |
||||
|
"sigla" varchar(30) NOT NULL, |
||||
|
"tipo" varchar(2) NOT NULL, |
||||
|
"cnpj" varchar(18) NOT NULL, |
||||
|
"logradouro" varchar(100) NOT NULL, |
||||
|
"bairro" varchar(40) NOT NULL, |
||||
|
"cidade_id" integer NOT NULL, |
||||
|
"cep" varchar(9) NOT NULL, |
||||
|
"email" varchar(75) NOT NULL, |
||||
|
"pagina_web" varchar(200) NOT NULL, |
||||
|
"foto" varchar(100) NOT NULL, |
||||
|
"foto_largura" smallint NULL, |
||||
|
"foto_altura" smallint NULL, |
||||
|
"historico" text NOT NULL |
||||
|
) |
||||
|
; |
||||
|
COMMIT; |
@ -0,0 +1,46 @@ |
|||||
|
BEGIN; |
||||
|
CREATE TABLE "contatos_unidadefederativa" ( |
||||
|
"codigo_ibge" integer unsigned NOT NULL PRIMARY KEY, |
||||
|
"nome" varchar(25) NOT NULL, |
||||
|
"sigla" varchar(2) NOT NULL, |
||||
|
"regiao" varchar(2) NOT NULL, |
||||
|
"populacao" integer unsigned NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "contatos_telefone" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"codigo_ddd" varchar(2) NOT NULL, |
||||
|
"numero" varchar(9) NOT NULL, |
||||
|
"tipo" varchar(1) NOT NULL, |
||||
|
"nota" varchar(70) NOT NULL, |
||||
|
"content_type_id" integer NOT NULL, |
||||
|
"object_id" integer unsigned NOT NULL, |
||||
|
UNIQUE ("codigo_ddd", "numero", "tipo") |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "contatos_municipio" ( |
||||
|
"codigo_ibge" integer unsigned NOT NULL PRIMARY KEY, |
||||
|
"codigo_mesorregiao" integer unsigned NOT NULL, |
||||
|
"codigo_microrregiao" integer unsigned NOT NULL, |
||||
|
"nome" varchar(50) NOT NULL, |
||||
|
"uf_id" integer NOT NULL REFERENCES "contatos_unidadefederativa" |
||||
|
("codigo_ibge"), |
||||
|
"is_capital" bool NOT NULL, |
||||
|
"populacao" integer unsigned NOT NULL, |
||||
|
"is_polo" bool NOT NULL, |
||||
|
"latitude" decimal NULL, |
||||
|
"longitude" decimal NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "contatos_contato" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"nome" varchar(60) NOT NULL, |
||||
|
"nota" varchar(70) NOT NULL, |
||||
|
"email" varchar(75) NOT NULL, |
||||
|
"municipio_id" integer NULL REFERENCES "contatos_municipio" |
||||
|
("codigo_ibge"), |
||||
|
"content_type_id" integer NOT NULL, |
||||
|
"object_id" integer unsigned NOT NULL |
||||
|
) |
||||
|
; |
||||
|
COMMIT; |
@ -0,0 +1,36 @@ |
|||||
|
BEGIN; |
||||
|
CREATE TABLE "convenios_anexo" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"convenio_id" integer NOT NULL, |
||||
|
"arquivo" varchar(100) NOT NULL, |
||||
|
"descricao" varchar(70) NOT NULL, |
||||
|
"data_pub" date NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "convenios_convenio" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"casa_legislativa_id" integer NOT NULL, |
||||
|
"num_convenio" integer unsigned NOT NULL, |
||||
|
"num_processo_sf" varchar(11) NOT NULL, |
||||
|
"data_adesao" date NOT NULL, |
||||
|
"data_retorno_assinatura" date NULL, |
||||
|
"data_termo_aceite" date NULL, |
||||
|
"data_pub_diario" date NULL, |
||||
|
"equipamentos_recebidos" varchar(1) NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "convenios_equipamentoprevisto" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"convenio_id" integer NOT NULL REFERENCES "convenios_convenio" ("id"), |
||||
|
"equipamento_id" integer NOT NULL, |
||||
|
"quantidade" smallint unsigned NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "convenios_convenio_servicos" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"convenio_id" integer NOT NULL REFERENCES "convenios_convenio" ("id"), |
||||
|
"servico_id" integer NOT NULL REFERENCES "servicos_servico" ("id"), |
||||
|
UNIQUE ("convenio_id", "servico_id") |
||||
|
) |
||||
|
; |
||||
|
COMMIT; |
@ -0,0 +1,41 @@ |
|||||
|
BEGIN; |
||||
|
CREATE TABLE "inventario_bem" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"casa_legislativa_id" integer NOT NULL, |
||||
|
"equipamento_id" integer NOT NULL, |
||||
|
"fornecedor_id" integer NOT NULL, |
||||
|
"num_serie" varchar(50) NOT NULL UNIQUE, |
||||
|
"num_tombamento" varchar(50) NOT NULL UNIQUE |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "inventario_fabricante" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"nome" varchar(40) NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "inventario_fornecedor" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"nome" varchar(40) NOT NULL, |
||||
|
"email" varchar(75) NOT NULL, |
||||
|
"pagina_web" varchar(200) NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "inventario_tipoequipamento" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"tipo" varchar(40) NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "inventario_equipamento" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"fabricante_id" integer NOT NULL REFERENCES "inventario_fabricante" ("id"), |
||||
|
"modelo_id" integer NOT NULL, |
||||
|
UNIQUE ("fabricante_id", "modelo_id") |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "inventario_modeloequipamento" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"tipo_id" integer NOT NULL REFERENCES "inventario_tipoequipamento" ("id"), |
||||
|
"modelo" varchar(30) NOT NULL |
||||
|
) |
||||
|
; |
||||
|
COMMIT; |
@ -0,0 +1,52 @@ |
|||||
|
BEGIN; |
||||
|
CREATE TABLE "mesas_membromesadiretora" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"parlamentar_id" integer NOT NULL, |
||||
|
"cargo_id" integer NOT NULL, |
||||
|
"mesa_diretora_id" integer NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "mesas_cargo" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"descricao" varchar(30) NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "mesas_coligacao" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"nome" varchar(50) NOT NULL, |
||||
|
"legislatura_id" integer NOT NULL, |
||||
|
"numero_votos" integer unsigned NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "mesas_legislatura" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"numero" smallint unsigned NOT NULL, |
||||
|
"data_inicio" date NOT NULL, |
||||
|
"data_fim" date NOT NULL, |
||||
|
"data_eleicao" date NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "mesas_sessaolegislativa" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"numero" smallint unsigned NOT NULL UNIQUE, |
||||
|
"mesa_diretora_id" integer NOT NULL, |
||||
|
"legislatura_id" integer NOT NULL REFERENCES "mesas_legislatura" ("id"), |
||||
|
"tipo" varchar(1) NOT NULL, |
||||
|
"data_inicio" date NOT NULL, |
||||
|
"data_fim" date NOT NULL, |
||||
|
"data_inicio_intervalo" date NULL, |
||||
|
"data_fim_intervalo" date NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "mesas_mesadiretora" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"casa_legislativa_id" integer NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "mesas_composicaocoligacao" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"coligacao_id" integer NOT NULL REFERENCES "mesas_coligacao" ("id"), |
||||
|
"partido_id" integer NOT NULL |
||||
|
) |
||||
|
; |
||||
|
COMMIT; |
@ -0,0 +1,37 @@ |
|||||
|
BEGIN; |
||||
|
CREATE TABLE "parlamentares_partido" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"nome" varchar(50) NOT NULL, |
||||
|
"sigla" varchar(10) NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "parlamentares_parlamentar" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"nome_completo" varchar(60) NOT NULL, |
||||
|
"nome_parlamentar" varchar(35) NOT NULL, |
||||
|
"foto" varchar(100) NOT NULL, |
||||
|
"foto_largura" smallint NULL, |
||||
|
"foto_altura" smallint NULL, |
||||
|
"sexo" varchar(1) NOT NULL, |
||||
|
"data_nascimento" date NULL, |
||||
|
"logradouro" varchar(100) NOT NULL, |
||||
|
"bairro" varchar(40) NOT NULL, |
||||
|
"cidade_id" integer NOT NULL, |
||||
|
"cep" varchar(9) NOT NULL, |
||||
|
"pagina_web" varchar(200) NOT NULL, |
||||
|
"email" varchar(75) NOT NULL |
||||
|
) |
||||
|
; |
||||
|
CREATE TABLE "parlamentares_mandato" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"parlamentar_id" integer NOT NULL REFERENCES |
||||
|
"parlamentares_parlamentar" ("id"), |
||||
|
"legislatura_id" integer NOT NULL, |
||||
|
"partido_id" integer NOT NULL REFERENCES "parlamentares_partido" ("id"), |
||||
|
"inicio_mandato" date NOT NULL, |
||||
|
"fim_mandato" date NOT NULL, |
||||
|
"is_afastado" bool NOT NULL, |
||||
|
"suplencia" varchar(1) NOT NULL |
||||
|
) |
||||
|
; |
||||
|
COMMIT; |
@ -0,0 +1,12 @@ |
|||||
|
BEGIN; |
||||
|
CREATE TABLE "servicos_servico" ( |
||||
|
"id" integer NOT NULL PRIMARY KEY, |
||||
|
"tipo" varchar(50) NOT NULL, |
||||
|
"descricao" text NOT NULL, |
||||
|
"data_inicio" date NULL, |
||||
|
"data_fim" date NULL, |
||||
|
"situacao" varchar(1) NOT NULL, |
||||
|
"avaliacao" smallint unsigned NULL |
||||
|
) |
||||
|
; |
||||
|
COMMIT; |
@ -0,0 +1,88 @@ |
|||||
|
. |
||||
|
|-- COPYING |
||||
|
|-- LEIA-ME -> README |
||||
|
|-- README |
||||
|
|-- devel.db |
||||
|
|-- docs |
||||
|
| |-- arquivos |
||||
|
| | |-- casosdeuso.dia |
||||
|
| | |-- esquema.sql |
||||
|
| | `-- models.png |
||||
|
| |-- instalacao.txt |
||||
|
| |-- relatorios |
||||
|
| | `-- [...] |
||||
|
| `-- visaogeral.txt |
||||
|
|-- etc |
||||
|
| |-- apache |
||||
|
| | |-- apache.conf |
||||
|
| | `-- django.wsgi |
||||
|
| `-- patchs |
||||
|
| `-- django-maintenancemode |
||||
|
| `-- paths_with_access_allowed.r10.patch |
||||
|
|-- media |
||||
|
| |-- css |
||||
|
| | `-- base_site.css |
||||
|
| |-- images |
||||
|
| | |-- default-bg.gif |
||||
|
| | `-- logo-interlegis.png |
||||
|
| `-- js |
||||
|
| |-- jquery-1.2.6.js |
||||
|
| `-- jquery-1.2.6.min.js |
||||
|
`-- sigi |
||||
|
|-- __init__.py |
||||
|
|-- admin |
||||
|
| |-- __init__.py |
||||
|
| `-- filterspecs.py |
||||
|
|-- apps |
||||
|
| |-- __init__.py |
||||
|
| |-- casas |
||||
|
| | |-- __init__.py |
||||
|
| | |-- admin.py |
||||
|
| | |-- forms.py |
||||
|
| | |-- models.py |
||||
|
| | `-- views.py |
||||
|
| |-- contatos |
||||
|
| | |-- __init__.py |
||||
|
| | |-- admin.py |
||||
|
| | `-- models.py |
||||
|
| |-- convenios |
||||
|
| | |-- __init__.py |
||||
|
| | |-- admin.py |
||||
|
| | `-- models.py |
||||
|
| |-- inventario |
||||
|
| | |-- __init__.py |
||||
|
| | |-- admin.py |
||||
|
| | `-- models.py |
||||
|
| |-- mesas |
||||
|
| | |-- __init__.py |
||||
|
| | |-- admin.py |
||||
|
| | `-- models.py |
||||
|
| |-- parlamentares |
||||
|
| | |-- __init__.py |
||||
|
| | |-- admin.py |
||||
|
| | `-- models.py |
||||
|
| `-- servicos |
||||
|
| |-- __init__.py |
||||
|
| |-- admin.py |
||||
|
| `-- models.py |
||||
|
|-- local_settings.template |
||||
|
|-- locale |
||||
|
| `-- pt_BR |
||||
|
| `-- LC_MESSAGES |
||||
|
| |-- django.mo |
||||
|
| `-- django.po |
||||
|
|-- manage.py |
||||
|
|-- settings.py |
||||
|
|-- sites.py |
||||
|
|-- templates |
||||
|
| |-- 503.html |
||||
|
| |-- admin |
||||
|
| | `-- base_site.html |
||||
|
| |-- app_index.html |
||||
|
| |-- index.html |
||||
|
| |-- login.html |
||||
|
| `-- snippets |
||||
|
| `-- modules |
||||
|
| |-- actions.html |
||||
|
| `-- user.html |
||||
|
`-- urls.py |
@ -0,0 +1,24 @@ |
|||||
|
% $Id$ |
||||
|
% --------------------------------------------------------------------------- |
||||
|
% |
||||
|
% This is part of the SIGI. |
||||
|
% Copyright (C) 2008 Interlegis |
||||
|
% See the file relatorio.tex for copying conditions. |
||||
|
% |
||||
|
|
||||
|
\lhead { |
||||
|
\setlength{\unitlength}{5mm} |
||||
|
\begin{picture}(0,0) |
||||
|
\includegraphics[scale=0.65]{imagens/cabecalho.pdf} |
||||
|
\end{picture} |
||||
|
} |
||||
|
\chead{} |
||||
|
\rhead{} |
||||
|
\renewcommand{\headrulewidth}{0pt} |
||||
|
|
||||
|
% |
||||
|
% Local variables: |
||||
|
% mode: flyspell |
||||
|
% TeX-master: "relatorio.tex" |
||||
|
% End: |
||||
|
% |
@ -0,0 +1,37 @@ |
|||||
|
% $Id$ |
||||
|
% --------------------------------------------------------------------------- |
||||
|
% |
||||
|
% This is part of the SIGI. |
||||
|
% Copyright (C) 2008 Interlegis |
||||
|
% See the file relatorio.tex for copying conditions. |
||||
|
% |
||||
|
|
||||
|
\textsf{\vspace{6cm}} |
||||
|
\begin{center} |
||||
|
\noindent |
||||
|
\large{ |
||||
|
\textbf{\titulo} |
||||
|
} \\ |
||||
|
|
||||
|
\Large{ |
||||
|
\textbf{\subtitulo} |
||||
|
} \\ |
||||
|
\large{ |
||||
|
\textbf{APO-CASA} |
||||
|
} |
||||
|
|
||||
|
\vspace{9cm} |
||||
|
|
||||
|
\large{ |
||||
|
\textbf{\autor}\\ |
||||
|
\textsf{Contrato N$^{\circ}$: \numcontrato}\\ |
||||
|
} |
||||
|
\end{center} |
||||
|
\cfoot{} |
||||
|
|
||||
|
% |
||||
|
% Local variables: |
||||
|
% mode: flyspell |
||||
|
% TeX-master: "relatorio.tex" |
||||
|
% End: |
||||
|
% |
@ -0,0 +1,612 @@ |
|||||
|
% |
||||
|
% This is part of the SIGI. |
||||
|
% Copyright (C) 2008 Interlegis |
||||
|
% See the file relatorio.tex for copying conditions. |
||||
|
% |
||||
|
|
||||
|
\section{Anexos} |
||||
|
\label{sec:anexos} |
||||
|
|
||||
|
\subsection{Visão Geral} |
||||
|
\label{sec:a2} |
||||
|
O \textbf{SIGI} é um projeto para um Sistema de Informações Gerenciais do |
||||
|
\href{http://www.interlegis.gov.br/}{Interlegis}, escrito na linguagem de |
||||
|
programação \href{http://www.python.org}{Python} com o framework para |
||||
|
desenvolvimento web \href{http://www.djangoproject.org}{Django}. |
||||
|
\begin{description} |
||||
|
%[visit_definition_list_item] |
||||
|
\item[{Página do projeto}:] %[visit_definition] |
||||
|
|
||||
|
\href{http://colab.interlegis.gov.br/wiki/ProjetoSigi}{http://colab.interlegis.gov.br/wiki/ProjetoSigi} |
||||
|
|
||||
|
%[depart_definition] |
||||
|
%[depart_definition_list_item] |
||||
|
\end{description} |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{caracter-sticas}{} |
||||
|
\pdfbookmark[0]{Características}{caracter-sticas} |
||||
|
\subsubsection*{Características} |
||||
|
|
||||
|
Lista das principais características do SIGI: |
||||
|
\begin{itemize} |
||||
|
\item {} |
||||
|
Serviço web cliente/servidor, podendo ser disponibilizado tanto na |
||||
|
internet quanto na intranet; |
||||
|
|
||||
|
\item {} |
||||
|
Multi-plataforma; |
||||
|
|
||||
|
\item {} Baseia-se na interface de administração nativa do Django |
||||
|
(\verb|django.contrib.admin|, maiores informações em |
||||
|
\href{http://docs.djangoproject.com/en/dev/ref/contrib/admin/}{http://docs.djangoproject.com/en/dev/ref/contrib/admin/}); |
||||
|
|
||||
|
\item {} |
||||
|
Gerencia convênios, equipamentos e inventários, serviços prestados e |
||||
|
composição de Mesas Diretoras das Casas Legislativas; |
||||
|
|
||||
|
\item {} |
||||
|
Autenticação no sistema baseada em usuários e grupos, com perfis |
||||
|
diferentes; |
||||
|
|
||||
|
\item {} |
||||
|
Emissão de relatórios. |
||||
|
|
||||
|
\end{itemize} |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{requisitos-b-sicos-de-software}{} |
||||
|
\pdfbookmark[0]{Requisitos básicos de software}{requisitos-b-sicos-de-software} |
||||
|
\subsubsection*{Requisitos básicos de software} |
||||
|
\begin{itemize} |
||||
|
\item {} |
||||
|
Python {\textgreater}= 2.4 {\textless} 3.0 |
||||
|
|
||||
|
\item {} |
||||
|
Django 1.0 |
||||
|
|
||||
|
\end{itemize} |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{licen-a-de-uso}{} |
||||
|
\pdfbookmark[0]{Licença de uso}{licen-a-de-uso} |
||||
|
\subsubsection*{Licença de uso} |
||||
|
|
||||
|
O SIGI é disponibilizado como |
||||
|
\href{http://pt.wikipedia.org/wiki/Software_Livre}{software livre}, |
||||
|
isto significa que você pode redistribuí-lo e/ou modifica-lo dentro |
||||
|
dos termos da Licença Pública Geral GNU (GPL) como publicada pela |
||||
|
Fundação do Software Livre (FSF); na versão 3 da Licença, ou (na sua |
||||
|
opinião) em qualquer versão mais recente. |
||||
|
|
||||
|
Veja o arquivo \texttt{LEIA-ME} para maiores informações a respeito das |
||||
|
condições de cópia e redistribuição. |
||||
|
|
||||
|
\subsection{Organização do sistema} |
||||
|
\label{sec:org} |
||||
|
|
||||
|
\subsubsection{Listagem do conteúdo dos diretórios} |
||||
|
\verbatiminput{../arquivos/tree.txt} |
||||
|
|
||||
|
\subsubsection{Descrição dos arquivos e diretórios} |
||||
|
\begin{description} |
||||
|
\item[COPYING:] Arquivo com a licença do sistema (GPLv3). |
||||
|
|
||||
|
\item[LEIA-ME/README:] Contém informações do sistema, nota de |
||||
|
copyright e instruções de instalação. |
||||
|
|
||||
|
\item[devel.db:] Base de dados SQLite utilizada para desenvolvimento |
||||
|
do sistema. |
||||
|
|
||||
|
\item[docs/:] Diretório com toda documentação escrita para o sistema |
||||
|
(relatórios, manual de instalação, casos de uso, esquema de base de |
||||
|
dados, etc). |
||||
|
|
||||
|
\item[etc/:] Diretório com arquivos variados: configuração do Apache, |
||||
|
\textit{patchs} de códigos, etc. |
||||
|
|
||||
|
\item[media/:] Diretório com arquivos estáticos e de mídia do sistema |
||||
|
(imagens, CSS, javascripts). |
||||
|
|
||||
|
\item[sigi/:] Pacote Python do sistema. |
||||
|
|
||||
|
\item[sigi/admin/:] Pacote de código relacionado com a aplicação |
||||
|
\verb|admin| do Django (\verb|django.contrib.admin|). |
||||
|
|
||||
|
\item[sigi/apps/:] Pacote de aplicações do sistema, maiores |
||||
|
informações na Seção \ref{sec:apps}. |
||||
|
|
||||
|
\item[sigi/settings.py:] Configurações padrões do sistema. |
||||
|
|
||||
|
\item[sigi/local\_settings.template:] Exemplo de configurações locais |
||||
|
do sistema (pertinentes à instalação). Deverá ser copiado para |
||||
|
\verb|sigi/local_settings.py| para sua utilização. |
||||
|
|
||||
|
\item[sigi/locale/:] Diretório com localização local do projeto. |
||||
|
|
||||
|
\item[sigi/manage.py:] Script de gerenciamento do projeto, gerado pelo |
||||
|
framework Django. |
||||
|
|
||||
|
\item[sigi/templates/:] Diretório com templates HTML do Django. |
||||
|
|
||||
|
\item[sigi/urls.py:] Modulo de configuração de URLs. |
||||
|
\end{description} |
||||
|
|
||||
|
\subsubsection{Descrição das aplicações} |
||||
|
\label{sec:apps} |
||||
|
O SIGI é composto de algumas aplicações Django, cada uma com um |
||||
|
propósito bem definido. |
||||
|
|
||||
|
Uma aplicação Django é um pacote Python modular, podendo ser |
||||
|
reaproveitado em outros projetos. |
||||
|
|
||||
|
Algumas aplicações possuem algum nível de relacionamento com as |
||||
|
outras. |
||||
|
|
||||
|
Segue descrição de cada aplicação: |
||||
|
|
||||
|
\begin{description} |
||||
|
\item[sigi.apps.casas:] |
||||
|
Gerência de Casas Legislativas. |
||||
|
|
||||
|
\item[sigi.apps.contatos:] |
||||
|
Gerência de Contatos do Interlegis com Casas Legislativas, |
||||
|
fornecedores de equipamentos, serviços e etc. |
||||
|
|
||||
|
\item[sigi.apps.convenios:] |
||||
|
Convênios do Interlegis com as Casas Legislativas. |
||||
|
|
||||
|
\item[sigi.apps.inventario:] |
||||
|
Inventário de equipamentos disponibilizados pelo Interlegis para as |
||||
|
Casas Legislativas. |
||||
|
|
||||
|
\item[sigi.apps.mesas:] |
||||
|
Composição das Mesas Diretoras das Casas Legislativas. |
||||
|
|
||||
|
\item[sigi.apps.parlamentares:] |
||||
|
Gerência de Parlamentares. |
||||
|
|
||||
|
\item[sigi.apps.servicos:] |
||||
|
Serviços prestados às Casas Legislativas conveniadas ao Interlegis. |
||||
|
\end{description} |
||||
|
|
||||
|
\subsubsection{Relacionamento entre as aplicações} |
||||
|
\label{sec:rel} |
||||
|
|
||||
|
A Figura \ref{fig:apps} demonstra o relacionamento entre as |
||||
|
aplicações e seus \emph{models}. |
||||
|
|
||||
|
Uma seta direcional representa uma relação \textit{muitos para |
||||
|
um}. Uma seta bidirecional representa uma relação \textit{muitos |
||||
|
para muitos}. |
||||
|
|
||||
|
A seta pontilhada representa uma relação genérica, como descrito na |
||||
|
documentação do Django:\\ |
||||
|
http://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/\#id1 |
||||
|
|
||||
|
\begin{figure}[p] |
||||
|
\centering |
||||
|
\includegraphics[angle=90,width=130mm]{../imagens/apps.png} |
||||
|
\caption{Relacionamento entre as aplicações} |
||||
|
\label{fig:apps} |
||||
|
\end{figure} |
||||
|
|
||||
|
\subsection{Casos de Uso} |
||||
|
\label{sec:casos} |
||||
|
|
||||
|
Esta seção descreve a utilização do sistema através de \emph{Casos de |
||||
|
Uso}, representando os principais atores e suas interações com o |
||||
|
sistema. |
||||
|
|
||||
|
Os Casos de Uso servem de auxílio à compreensão dos usuários quanto à |
||||
|
implementação e uso do sistema. |
||||
|
|
||||
|
\subsubsection{Casos de Uso do SIGI} |
||||
|
A Figura \ref{fig:casos} apresenta os Casos de Uso do SIGI de maneira |
||||
|
simplificada. |
||||
|
|
||||
|
\begin{figure}[h] |
||||
|
\centering |
||||
|
\includegraphics[width=120mm]{../imagens/casosdeuso.png} |
||||
|
\caption{Casos de Uso} |
||||
|
\label{fig:casos} |
||||
|
\end{figure} |
||||
|
|
||||
|
\paragraph{Descrição dos Atores} |
||||
|
\begin{description} |
||||
|
\item[Funcionário Interlegis Autorizado:] usuário apenas com |
||||
|
atribuições de leitura no sistema. Inclui pessoal da Subsecretaria |
||||
|
de Apoio Técnico e Relações Institucionais (SSATR) e Subsecretaria |
||||
|
de Planejamento e Fomento (SSPLF). |
||||
|
\item[SSFAC:] Subsecretaria de Formação e Atendimento à Comunidade do |
||||
|
Legislativo. |
||||
|
\item[SSADM:] Subsecretaria de Administração. |
||||
|
\item[SEIT:] Serviço de Infra-estrutura Tecnológica. |
||||
|
\end{description} |
||||
|
|
||||
|
\paragraph{Descrição das Atividades} |
||||
|
\begin{description} |
||||
|
\item[Emitir Relatórios:] consiste em obter informações e emitir |
||||
|
relatórios de diversas partes do sistema. |
||||
|
\item[Emitir Etiquetas:] consiste em obter informações e emitir |
||||
|
etiquetas de algumas partes do sistema. |
||||
|
\item[Pesquisar e Recuperar Informações:] habilidades de pesquisa e |
||||
|
obtenção de informações da base de dados do sistema. |
||||
|
\item[Gerenciar Mesas Diretoras:] consiste em inserir, atualizar e |
||||
|
remover \emph{Mesas Diretoras}, \emph{Sessões Legislativas} e |
||||
|
modificar a \emph{Composição das Mesas Diretoras}. |
||||
|
\item[Gerenciar Parlamentares:] consiste em inserir, atualizar e |
||||
|
remover \emph{Parlamentares} e \emph{Partidos}. |
||||
|
\item[Gerenciar Equipamentos:] consiste em inserir, atualizar e |
||||
|
remover \emph{Equipamentos} e \emph{Fornecedores}. |
||||
|
\item[Gerenciar Casas Legislativas:] consiste em inserir, atualizar e |
||||
|
remover \emph{Casas Legislativas}. |
||||
|
\item[Gerenciar Convênios:] consiste em inserir, atualizar e remover |
||||
|
\emph{Convênios}. |
||||
|
\item[Gerenciar Inventário:] consiste em atualizar o \emph{Inventário} |
||||
|
das Casas Legislativas. |
||||
|
\item[Gerenciar Serviços:] consiste em inserir, atualizar e remover |
||||
|
\emph{Serviços} prestados às Casas Legislativas. |
||||
|
\end{description} |
||||
|
|
||||
|
\subsection{Modelo de dados} |
||||
|
\label{sec:modelo} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.casas (figura \ref{fig:casas})} |
||||
|
\begin{figure}[h!] |
||||
|
\centering |
||||
|
\includegraphics[width=60mm]{../imagens/casas.png} |
||||
|
\caption{Diagrama de Classes da aplicação sigi.apps.casas} |
||||
|
\label{fig:casas} |
||||
|
\end{figure} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.contatos (figura \ref{fig:contatos})} |
||||
|
\begin{figure}[h!] |
||||
|
\centering |
||||
|
\includegraphics[width=120mm]{../imagens/contatos.png} |
||||
|
\caption{Diagrama de Classes da aplicação sigi.apps.contatos} |
||||
|
\label{fig:contatos} |
||||
|
\end{figure} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.convenios (figura \ref{fig:convenios})} |
||||
|
\begin{figure}[h!] |
||||
|
\centering |
||||
|
\includegraphics[width=100mm]{../imagens/convenios.png} |
||||
|
\caption{Diagrama de Classes da aplicação sigi.apps.convenios} |
||||
|
\label{fig:convenios} |
||||
|
\end{figure} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.inventario (figura \ref{fig:inventario})} |
||||
|
\begin{figure}[h!] |
||||
|
\centering |
||||
|
\includegraphics[width=120mm]{../imagens/inventario.png} |
||||
|
\caption{Diagrama de Classes da aplicação sigi.apps.inventario} |
||||
|
\label{fig:inventario} |
||||
|
\end{figure} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.mesas (figura \ref{fig:mesas})} |
||||
|
\begin{figure}[h!] |
||||
|
\centering |
||||
|
\includegraphics[width=145mm]{../imagens/mesas.png} |
||||
|
\caption{Diagrama de Classes da aplicação sigi.apps.mesas} |
||||
|
\label{fig:mesas} |
||||
|
\end{figure} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.parlamentares (figura \ref{fig:parlamentares})} |
||||
|
\begin{figure}[h!] |
||||
|
\centering |
||||
|
\includegraphics[width=100mm]{../imagens/parlamentares.png} |
||||
|
\caption{Diagrama de Classes da aplicação sigi.apps.parlamentares} |
||||
|
\label{fig:parlamentares} |
||||
|
\end{figure} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.servicos (figura \ref{fig:servicos})} |
||||
|
\begin{figure}[h!] |
||||
|
\centering |
||||
|
\includegraphics[width=60mm]{../imagens/servicos.png} |
||||
|
\caption{Diagrama de Classes da aplicação sigi.apps.servicos} |
||||
|
\label{fig:servicos} |
||||
|
\end{figure} |
||||
|
|
||||
|
\subsection{Esquema de dados} |
||||
|
\label{sec:esquema} |
||||
|
|
||||
|
Nesta seção estão descritos os esquemas de criação das entidades e de |
||||
|
seus relacionamentos do banco de dados \emph{SQL} para cada aplicação |
||||
|
do SIGI. |
||||
|
|
||||
|
\small |
||||
|
\subsubsection{Aplicação sigi.apps.casas} |
||||
|
\verbatiminput{../arquivos/casas.sql} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.contatos} |
||||
|
\verbatiminput{../arquivos/contatos.sql} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.convenios} |
||||
|
\verbatiminput{../arquivos/convenios.sql} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.inventario} |
||||
|
\verbatiminput{../arquivos/inventario.sql} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.mesas} |
||||
|
\verbatiminput{../arquivos/mesas.sql} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.parlamentares} |
||||
|
\verbatiminput{../arquivos/parlamentares.sql} |
||||
|
|
||||
|
\subsubsection{Aplicação sigi.apps.servicos} |
||||
|
\verbatiminput{../arquivos/servicos.sql} |
||||
|
\normalsize |
||||
|
|
||||
|
\subsection{Manual de Instalação} |
||||
|
\label{sec:a3} |
||||
|
Este documento descreve como efetuar a instalação do Sistema de |
||||
|
Informações Gerenciais do Interlegis (SIGI). Os passos são baseados |
||||
|
nas distribuições GNU/Linux Debian e Ubuntu. Podem ser aplicados sem |
||||
|
dificuldades em outras distribuições, mas poderão sofrer alguma |
||||
|
adaptação. |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{prepara-o-do-ambiente-para-a-instala-o}{} |
||||
|
\pdfbookmark[0]{Preparação do ambiente para a instalação}{prepara-o-do-ambiente-para-a-instala-o} |
||||
|
\subsubsection{Preparação do ambiente para a instalação} |
||||
|
|
||||
|
Há dois tipos de instalação do SIGI, uma para desenvolvimento e outra |
||||
|
para produção. |
||||
|
|
||||
|
Para ambas instalações, certifique-se que os seguintes softwares |
||||
|
estejam instalados em seu sistema: |
||||
|
\begin{itemize} |
||||
|
\item {} |
||||
|
Python {\textgreater}= 2.4 {\textless} 3.0 |
||||
|
|
||||
|
\item {} |
||||
|
Django 1.0 |
||||
|
|
||||
|
\end{itemize} |
||||
|
|
||||
|
O Python pode ser instalado a partir do pacote \texttt{python} com uma |
||||
|
ferramenta de instalação de pacotes como o \texttt{apt-get} ou |
||||
|
\texttt{aptitude}. |
||||
|
|
||||
|
Se a sua distribuição não possui o pacote \texttt{python-django}, para |
||||
|
o Django na versão 1.0, será necessário obter e configurar o mesmo |
||||
|
manualmente. A próxima seção traz mais detalhes para esta tarefa. |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{instala-o-do-django}{} |
||||
|
\pdfbookmark[1]{Instalação do Django}{instala-o-do-django} |
||||
|
\subsubsection*{Instalação do Django} |
||||
|
O Django 1.0 pode ser obtido através da \href{http://www.djangoproject.com/download/}{página de download} do \href{http://www.djangoproject.com}{Django Project} via \emph{tarball} (\texttt{tar.gz}) ou via |
||||
|
Subversion (revisão 8961). |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{obtendo-e-instalando-o-django}{} |
||||
|
\pdfbookmark[2]{Obtendo e instalando o Django}{obtendo-e-instalando-o-django} |
||||
|
\subsubsection*{Obtendo e instalando o Django} |
||||
|
Primeiramente baixe o \href{http://www.djangoproject.com/download/1.0/tarball/}{tarball do Django 1.0} ou dê |
||||
|
\emph{checkout} na tag 1.0 disponível no repositório do Subversion do |
||||
|
projeto: |
||||
|
\begin{quote}{\ttfamily \raggedright \noindent |
||||
|
svn~checkout~http://code.djangoproject.com/svn/django/tags/releases/1.0/ |
||||
|
}\end{quote} |
||||
|
|
||||
|
Após isso será necessário colocar o pacote Python do \texttt{django} |
||||
|
(diretório \texttt{django} disponível dentro do diretório/tarball baixado) |
||||
|
no \emph{path} do Python. |
||||
|
|
||||
|
Para saber quais são os diretórios que estão no path do Python, |
||||
|
execute em linha de comando: |
||||
|
\begin{quote}{\ttfamily \raggedright \noindent |
||||
|
python~-c~'import~sys;~print~sys.path' |
||||
|
}\end{quote} |
||||
|
|
||||
|
Você tem opção de mover o pacote \texttt{django} para algum diretório |
||||
|
coberto pelo path ou adicionar um outro local no path utilizando a |
||||
|
variável de ambiente \texttt{PYTHONPATH} do usuário que rodará o sistema. O |
||||
|
formato do \texttt{PYTHONPATH} é o mesmo do \texttt{PATH} do sistema. Exemplo: |
||||
|
\begin{quote}{\ttfamily \raggedright \noindent |
||||
|
PYTHONPATH=/path/to/django:{\$}PYTHONPATH |
||||
|
}\end{quote} |
||||
|
|
||||
|
De maneira simplificada, a instalação do Django é como a instalação de |
||||
|
qualquer outro pacote Python. |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{preparando-o-ambiente-para-desenvolvimento}{} |
||||
|
\pdfbookmark[1]{Preparando o ambiente para desenvolvimento}{preparando-o-ambiente-para-desenvolvimento} |
||||
|
\subsubsection*{Preparando o ambiente para desenvolvimento} |
||||
|
|
||||
|
Se você irá desenvolver o SIGI, é necessário possuir os seguintes |
||||
|
pacotes instalados em sua máquina: |
||||
|
\begin{itemize} |
||||
|
\item {} |
||||
|
sqlite3, para SQLite 3; |
||||
|
|
||||
|
\item {} |
||||
|
python-pysqlite2, interface Python para SQLite 3. |
||||
|
|
||||
|
\end{itemize} |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{preparando-o-ambiente-para-produ-o}{} |
||||
|
\pdfbookmark[1]{Preparando o ambiente para produção}{preparando-o-ambiente-para-produ-o} |
||||
|
\subsubsection*{Preparando o ambiente para produção} |
||||
|
|
||||
|
Para disponibilizar o SIGI em um ambiente para produção você |
||||
|
necessitará do MySQL Server ou PostgreSQL, ou qualquer outro Sistema |
||||
|
Gerenciador de Banco de Dados (SGBD) compatível com Django 1.0, e de |
||||
|
suas seguintes interfaces para Python, como os pacotes |
||||
|
\texttt{python-mysqldb} e \texttt{python-psycopg2} (respectivamente para MySQL e |
||||
|
PostgreSQL). |
||||
|
|
||||
|
Será necessário também possuir o Apache ({\textgreater}= 2.2) instalado para |
||||
|
disponibilizar o sistema via HTTP, de forma cliente/servidor, ou outro |
||||
|
servidor web compatível com Python e WSGI (ou FastCGI). |
||||
|
|
||||
|
Opcionalmente, você pode utilizar o servidor web Lighttpd para servir |
||||
|
os arquivos estáticos do sistema. |
||||
|
|
||||
|
Você encontrará configurações para Apache com WSGI neste documento, |
||||
|
juntamente com instruções para configurar o SIGI com o banco de dados |
||||
|
escolhido. |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{instala-o-e-configura-o-do-sigi}{} |
||||
|
\pdfbookmark[0]{Instalação e configuração do SIGI}{instala-o-e-configura-o-do-sigi} |
||||
|
\subsubsection{Instalação e configuração do SIGI} |
||||
|
|
||||
|
O SIGI está disponível no \href{http://colab.interlegis.gov.br}{Colab}, |
||||
|
um portal colaborativo para a gerência dos projetos de software do |
||||
|
\href{http://www.interlegis.gov.br}{Interlegis}. |
||||
|
|
||||
|
A página do projeto SIGI no Colab pode ser acessada através do link |
||||
|
\href{http://colab.interlegis.gov.br/wiki/ProjetoSigi}{http://colab.interlegis.gov.br/wiki/ProjetoSigi}. |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{obtendo-e-instalando-o-sigi}{} |
||||
|
\pdfbookmark[1]{Obtendo e instalando o SIGI}{obtendo-e-instalando-o-sigi} |
||||
|
\subsubsection*{Obtendo e instalando o SIGI} |
||||
|
|
||||
|
Para baixar o SIGI, é necessário ter o Subversion instalado em sua |
||||
|
máquina (pacote \texttt{subversion}). Para \emph{checkout} do sistema via |
||||
|
Subversion, execute o comando abaixo: |
||||
|
\begin{verbatim} |
||||
|
svn checkout http://repositorio.interlegis.gov.br/SIGI/trunk/ \ |
||||
|
/path/to/SIGI |
||||
|
\end{verbatim} |
||||
|
|
||||
|
Substitua \texttt{/path/to/SIGI} para o local onde deseja instalar o |
||||
|
SIGI. (Iremos considerar o diretório SIGI como a raiz do projeto |
||||
|
durante o restante deste documento.) |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{configura-o-do-sigi}{} |
||||
|
\pdfbookmark[1]{Configuração do SIGI}{configura-o-do-sigi} |
||||
|
\subsubsection*{Configuração do SIGI} |
||||
|
|
||||
|
Dentro da raiz do projeto, encontra-se um diretório de nome \texttt{sigi} |
||||
|
(pacote Python do projeto). Sua configuração padrão, se encontra no |
||||
|
arquivo \texttt{settings.py}. |
||||
|
|
||||
|
Para alterar as configurações do projeto, é recomendado que copie o |
||||
|
arquivo \texttt{local{\_}settings.template} para \texttt{local{\_}settings.py} e |
||||
|
altere os parâmetros neste arquivo. |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{instala-o-em-ambiente-para-desenvolvimento}{} |
||||
|
\pdfbookmark[1]{Instalação em ambiente para desenvolvimento}{instala-o-em-ambiente-para-desenvolvimento} |
||||
|
\subsubsection*{Instalação em ambiente para desenvolvimento} |
||||
|
|
||||
|
As configurações padrão do projeto já estão direcionadas para um |
||||
|
ambiente de desenvolvimento e não exige demais configurações. |
||||
|
|
||||
|
(Os comandos abaixo deverão ser executados dentro do diretório |
||||
|
\texttt{sigi}, onde se encontra o arquivo \texttt{manage.py}.) |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{base-de-dados-em-ambiente-para-desenvolvimento}{} |
||||
|
\pdfbookmark[2]{Base de dados em ambiente para desenvolvimento}{base-de-dados-em-ambiente-para-desenvolvimento} |
||||
|
\subsubsection*{Base de dados em ambiente para desenvolvimento} |
||||
|
|
||||
|
Antes de executar o projeto, é necessário preencher o banco de dados |
||||
|
com suas tabelas e valores padrão. |
||||
|
|
||||
|
Considerando que possua o SQLite instalado, basta executar o comando |
||||
|
abaixo: |
||||
|
\begin{quote}{\ttfamily \raggedright \noindent |
||||
|
python~manage.py~syncdb |
||||
|
}\end{quote} |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{execu-o-do-projeto-em-ambiente-para-desenvolvimento}{} |
||||
|
\pdfbookmark[2]{Execução do projeto em ambiente para desenvolvimento}{execu-o-do-projeto-em-ambiente-para-desenvolvimento} |
||||
|
\subsubsection*{Execução do projeto em ambiente para desenvolvimento} |
||||
|
|
||||
|
Para rodar o SIGI, execute em linha de comando: |
||||
|
\begin{quote}{\ttfamily \raggedright \noindent |
||||
|
python~manage.py~runserver |
||||
|
}\end{quote} |
||||
|
|
||||
|
O projeto poderá ser acessado através do endereço |
||||
|
\href{http://127.0.0.1:8000/}{http://127.0.0.1:8000/}. |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{instala-o-em-ambiente-para-produ-o}{} |
||||
|
\pdfbookmark[1]{Instalação em ambiente para produção}{instala-o-em-ambiente-para-produ-o} |
||||
|
\subsubsection*{Instalação em ambiente para produção} |
||||
|
|
||||
|
Para instalar o SIGI em ambiente para produção, devemos configurar um |
||||
|
Sistema Gerenciador de Banco de Dados (SGBD), o qual armazenará os |
||||
|
dados do sistema, e configurar um servidor HTTP, como o Apache, para |
||||
|
disponibilizar o sistema na web. |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{configura-o-do-sgdb}{} |
||||
|
\pdfbookmark[2]{Configuração do SGDB}{configura-o-do-sgdb} |
||||
|
\subsubsection*{Configuração do SGDB} |
||||
|
|
||||
|
Modifique em seu \texttt{local{\_}settings.py} as variáveis |
||||
|
\texttt{DATABASE{\_}ENGINE}, \texttt{DATABASE{\_}NAME}, \texttt{DATABASE{\_}USER}, |
||||
|
\texttt{DATABASE{\_}PASSWORD}, \texttt{DATABASE{\_}HOST} e \texttt{DATABASE{\_}PORT} de acordo |
||||
|
com o banco de dados disponibilizado para o SIGI. |
||||
|
|
||||
|
Em \texttt{DATABASE{\_}ENGINE}, suas opções são \texttt{postgresql{\_}psycopg2}, |
||||
|
\texttt{postgresql}, \texttt{mysql}, \texttt{sqlite3} ou \texttt{ado{\_}mssql}. |
||||
|
|
||||
|
Após isso, é necessário preencher o banco de dados |
||||
|
com suas tabelas e valores padrão. Para tal, execute em linha de |
||||
|
comando: |
||||
|
\begin{quote}{\ttfamily \raggedright \noindent |
||||
|
python~manage.py~syncdb |
||||
|
}\end{quote} |
||||
|
|
||||
|
|
||||
|
%___________________________________________________________________________ |
||||
|
|
||||
|
\hypertarget{configura-o-do-servidor-web-apache-com-wsgi}{} |
||||
|
\pdfbookmark[2]{Configuração do servidor web Apache com WSGI}{configura-o-do-servidor-web-apache-com-wsgi} |
||||
|
\subsubsection*{Configuração do servidor web Apache com WSGI} |
||||
|
|
||||
|
Exemplos de configurações, de um \texttt{VirtualHost}, estão disponíveis no |
||||
|
diretório \texttt{etc/apache/} dentro do diretório raiz do projeto |
||||
|
(\texttt{SIGI/}). |
||||
|
|
||||
|
% |
||||
|
% Local variables: |
||||
|
% mode: flyspell |
||||
|
% TeX-master: "relatorio.tex" |
||||
|
% End: |
||||
|
% |
@ -0,0 +1,20 @@ |
|||||
|
% |
||||
|
% This is part of the SIGI. |
||||
|
% Copyright (C) 2008 Interlegis |
||||
|
% See the file relatorio.tex for copying conditions. |
||||
|
% |
||||
|
|
||||
|
\section{Bibliografia} |
||||
|
\label{sec:bib} |
||||
|
|
||||
|
\begin{itemize} |
||||
|
\item Documentação Oficial do Django 1.0 |
||||
|
\item Django Book |
||||
|
\end{itemize} |
||||
|
|
||||
|
% |
||||
|
% Local variables: |
||||
|
% mode: flyspell |
||||
|
% TeX-master: "relatorio.tex" |
||||
|
% End: |
||||
|
% |
@ -0,0 +1,47 @@ |
|||||
|
% |
||||
|
% This is part of the SIGI. |
||||
|
% Copyright (C) 2008 Interlegis |
||||
|
% See the file relatorio.tex for copying conditions. |
||||
|
% |
||||
|
|
||||
|
\section{Desenvolvimento web com Django} |
||||
|
\label{sec:django} |
||||
|
|
||||
|
\subsection{Objetivos} |
||||
|
O treinamento visa capacitar desenvolvedores web no uso do framework |
||||
|
Django para a construção de sistemas online. |
||||
|
|
||||
|
\subsection{Conteúdo programático} |
||||
|
\begin{enumerate} |
||||
|
\item Introdução |
||||
|
\item Conceitos básicos |
||||
|
\begin{enumerate} |
||||
|
\item Model-view-controller (MVC) |
||||
|
\item Model-template-view (MTV) |
||||
|
\end{enumerate} |
||||
|
\item Desenvolvimento de uma aplicação |
||||
|
\begin{enumerate} |
||||
|
\item Models |
||||
|
\item Views |
||||
|
\item Templates |
||||
|
\end{enumerate} |
||||
|
\item Projetos $x$ Aplicações |
||||
|
\begin{enumerate} |
||||
|
\item Organização de projetos |
||||
|
\item Organização de aplicações |
||||
|
\end{enumerate} |
||||
|
\end{enumerate} |
||||
|
|
||||
|
\subsection{Requisitos} |
||||
|
Para o treinamento, o aluno deverá possuir conhecimentos básicos em |
||||
|
desenvolvimento web e Python. |
||||
|
|
||||
|
\subsection{Duração do treinamento} |
||||
|
O treinamento tem duração estimada em 4 horas. |
||||
|
|
||||
|
% |
||||
|
% Local variables: |
||||
|
% mode: flyspell |
||||
|
% TeX-master: "relatorio.tex" |
||||
|
% End: |
||||
|
% |
@ -0,0 +1,39 @@ |
|||||
|
% |
||||
|
% This is part of the SIGI. |
||||
|
% Copyright (C) 2008 Interlegis |
||||
|
% See the file relatorio.tex for copying conditions. |
||||
|
% |
||||
|
|
||||
|
\section{Estendendo o SIGI} |
||||
|
\label{sec:sigidev} |
||||
|
|
||||
|
\subsection{Objetivos} |
||||
|
O treinamento visa capacitar a equipe de desenvolvimento de software |
||||
|
do Interlegis a manter e estender o SIGI. |
||||
|
|
||||
|
\subsection{Conteúdo programático} |
||||
|
\begin{enumerate} |
||||
|
\item Aplicação Admin do Django |
||||
|
\begin{enumerate} |
||||
|
\item CSS |
||||
|
\item Templates |
||||
|
\item Arquivo sites.py |
||||
|
\end{enumerate} |
||||
|
\item Modelo de dados |
||||
|
\item Configurações locais |
||||
|
\item Criando novas aplicações |
||||
|
\end{enumerate} |
||||
|
|
||||
|
\subsection{Requisitos} |
||||
|
Para o treinamento, o aluno deverá possuir conhecimentos básicos em |
||||
|
desenvolvimento web com Python/Django. |
||||
|
|
||||
|
\subsection{Duração do treinamento} |
||||
|
O treinamento tem duração estimada em 2 hora. |
||||
|
|
||||
|
% |
||||
|
% Local variables: |
||||
|
% mode: flyspell |
||||
|
% TeX-master: "relatorio.tex" |
||||
|
% End: |
||||
|
% |
@ -0,0 +1,39 @@ |
|||||
|
% |
||||
|
% This is part of the SIGI. |
||||
|
% Copyright (C) 2008 Interlegis |
||||
|
% See the file relatorio.tex for copying conditions. |
||||
|
% |
||||
|
|
||||
|
\section{Utilizando o SIGI} |
||||
|
\label{sec:sigiuso} |
||||
|
|
||||
|
\subsection{Objetivos} |
||||
|
O treinamento visa capacitar os funcionários do Interlegis a utilizar |
||||
|
o SIGI aproveitando todos os seus recursos. |
||||
|
|
||||
|
\subsection{Conteúdo programático} |
||||
|
\begin{enumerate} |
||||
|
\item Dashboard |
||||
|
\item Aplicações |
||||
|
\begin{enumerate} |
||||
|
\item Pesquisa |
||||
|
\item Adição/Edição/Atualização |
||||
|
\end{enumerate} |
||||
|
\item Histórico de atividades |
||||
|
\item Relatórios |
||||
|
\item Gerenciamento de usuários |
||||
|
\end{enumerate} |
||||
|
|
||||
|
\subsection{Requisitos} |
||||
|
Para o treinamento, o aluno deverá possuir conhecimentos básicos em |
||||
|
Internet e navegação web. |
||||
|
|
||||
|
\subsection{Duração do treinamento} |
||||
|
O treinamento tem duração estimada em 1 hora. |
||||
|
|
||||
|
% |
||||
|
% Local variables: |
||||
|
% mode: flyspell |
||||
|
% TeX-master: "relatorio.tex" |
||||
|
% End: |
||||
|
% |
@ -0,0 +1,31 @@ |
|||||
|
% |
||||
|
% This is part of the SIGI. |
||||
|
% Copyright (C) 2008 Interlegis |
||||
|
% See the file relatorio.tex for copying conditions. |
||||
|
% |
||||
|
|
||||
|
\section{Introdução} |
||||
|
Este documento detalha as atividades desenvolvidas durante a quarta |
||||
|
etapa do projeto de desenvolvimento do Sistema de Informações |
||||
|
Gerenciais do Interlegis (SIGI). |
||||
|
|
||||
|
A quarta etapa consiste nos treinamentos de utilização da tecnologia |
||||
|
``Django Web Framework'', aplicada no desenvolvimento do SIGI, e sobre |
||||
|
o uso do SIGI. |
||||
|
|
||||
|
As seções \ref{sec:django}, \ref{sec:sigidev} e \ref{sec:sigiuso} |
||||
|
apresentam, respectivamente, os objetivos e conteúdo programático do |
||||
|
treinamento em Django, desenvolvimento para o SIGI e uso do SIGI. |
||||
|
|
||||
|
A seção \ref{sec:bib} possui a bibliografia necessária para o |
||||
|
treinamento em desenvolvimento web com Django e do SIGI. |
||||
|
|
||||
|
Na seção \ref{sec:anexos}, estão anexadas a documentação técnica |
||||
|
produzida para o SIGI e os \textit{slides} dos treinamentos. |
||||
|
|
||||
|
% |
||||
|
% Local variables: |
||||
|
% mode: flyspell |
||||
|
% TeX-master: "relatorio.tex" |
||||
|
% End: |
||||
|
% |
@ -0,0 +1,20 @@ |
|||||
|
% $Id$ |
||||
|
% --------------------------------------------------------------------------- |
||||
|
% |
||||
|
% This is part of the SIGI. |
||||
|
% Copyright (C) 2008 Interlegis |
||||
|
% See the file relatorio.tex for copying conditions. |
||||
|
% |
||||
|
|
||||
|
\newcommand{\titulo}{Produto IV} |
||||
|
\newcommand{\subtitulo}{Sistema de Informações Gerenciais do Interlegis} |
||||
|
\newcommand{\autor}{Guilherme Mesquita Gondim} |
||||
|
\newcommand{\numcontrato}{2008/000471} % Número do contrato caso seja |
||||
|
% consultor. |
||||
|
|
||||
|
% |
||||
|
% Local variables: |
||||
|
% mode: flyspell |
||||
|
% TeX-master: "relatorio.tex" |
||||
|
% End: |
||||
|
% |
After Width: | Height: | Size: 130 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 132 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 12 KiB |
@ -0,0 +1,68 @@ |
|||||
|
% $Id$ |
||||
|
% --------------------------------------------------------------------------- |
||||
|
% |
||||
|
% Copyright (c) 2008 Interlegis |
||||
|
% |
||||
|
% Permission is granted to copy, distribute and/or modify this |
||||
|
% document under the terms of the GNU Free Documentation License, |
||||
|
% Version 1.2 or any later version published by the Free Software |
||||
|
% Foundation; with no Invariant Sections, no Front-Cover Texts, and no |
||||
|
% Back-Cover Texts. A copy of the license is included in the section |
||||
|
% entitled "GNU Free Documentation License". If not, see |
||||
|
% <http://www.gnu.org/licenses/>. |
||||
|
% |
||||
|
|
||||
|
\documentclass[a4paper,12pt]{article} |
||||
|
\textheight 22.5cm |
||||
|
\usepackage[brazil]{babel} % suporte ao portugues brasil |
||||
|
\usepackage[utf8]{inputenc} % Codificacao dos caracteres (use a |
||||
|
% codificacao latin1 caso seu |
||||
|
% sistema/editor nao suporte utf8). |
||||
|
\usepackage[T1]{fontenc} |
||||
|
\usepackage{indentfirst} % indenta o primeiro paragrafo |
||||
|
\usepackage{graphicx} % uso para imagens |
||||
|
\usepackage{dsfont} % fonte |
||||
|
|
||||
|
\usepackage{fancyhdr} % permite alterar o cabecalho |
||||
|
\pagestyle{fancy} % configura o estilo padrao |
||||
|
|
||||
|
\usepackage{verbatim} |
||||
|
|
||||
|
\input{comandos} % novos comandos |
||||
|
|
||||
|
\usepackage[pdftex,% % formatacao no PDF |
||||
|
pdfauthor={\autor},% |
||||
|
pdftitle={\titulo \ - \subtitulo},% |
||||
|
]{hyperref} |
||||
|
\hypersetup{backref=true,pdfpagemode=UseOutlines,colorlinks=true, |
||||
|
breaklinks=true,hyperindex,linkcolor=blue,anchorcolor=black, |
||||
|
citecolor=blue,filecolor=magenta,menucolor=red,pagecolor=red, |
||||
|
urlcolor=cyan,bookmarks=true,bookmarksopen=true,pdfpagelayout=SinglePage, |
||||
|
pdfpagetransition=Dissolve} |
||||
|
|
||||
|
\begin{document} |
||||
|
\input{cabecalho} |
||||
|
\input{capa} |
||||
|
|
||||
|
% configura o rodape do conteudo pre-textual para numeros romanos |
||||
|
\clearpage |
||||
|
\cfoot{\thepage} |
||||
|
\setcounter{page}{1} |
||||
|
\pagenumbering{Roman} |
||||
|
|
||||
|
\tableofcontents |
||||
|
\listoffigures |
||||
|
|
||||
|
% configura o rodape das paginas de conteudo para numeros convencionais |
||||
|
\clearpage |
||||
|
\setcounter{page}{1} |
||||
|
\pagenumbering{arabic} |
||||
|
|
||||
|
% conteudo |
||||
|
\include{capitulos/introducao} |
||||
|
\include{capitulos/capitulo1} |
||||
|
\include{capitulos/capitulo2} |
||||
|
\include{capitulos/capitulo3} |
||||
|
\include{capitulos/bibliografia} |
||||
|
\include{capitulos/anexos} |
||||
|
\end{document} |