Skip to content

Commit 65dce11

Browse files
committed
Added documentation for hollow website
1 parent 6e85572 commit 65dce11

23 files changed

+372
-19
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
1. Clone the repo
2626
```sh
27-
git clone [email protected]:CodeAndCoffee55/hollow-docs.git
27+
git clone [email protected]:Coding55/hollow-docs.git
2828
```
2929
2. Follow the instruction in mkdocs.md
3030
```sh

docs/about/about.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Versões utilizadas
2+
Para o projeto do website da Hollow utilizamos Python/Django para o código e PostgreSQL para a base de dados.
3+
4+
5+
1. `Django 3.0.10`
6+
2. `Python 3.8.5`
7+
3. `PostgreSQL 12`
8+
9+
Para mais informações, ver `requirements.txt`.

docs/about/contributing.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## Contribuição
2+
3+
São as contribuições que fazem da comunidade de código aberto um lugar tão extraordinário para aprender, inspirar e criar. Todas as contribuições que são feitas serão **muito apreciadas**.
4+
5+
- Fork do projeto (```fork```)
6+
- Crie sua branch "Feature" (```git checkout -b feature/AmazingFeature```)
7+
- Realize suas modificações (```git commit -m 'Add some AmazingFeature'```)
8+
- Push da sua branch Branch (```git push origin feature/AmazingFeature```)
9+
- Criar um pull request (```PR```)
10+
11+
Obrigado antecipadamente pela sua ajuda ;)

docs/admin/admin.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Site de administração do Django
2+
3+
Uma das partes mais poderosas do Django é a interface de administração automática. Lê os metadados dos seus modelos para fornecer uma interface rápida e centrada em modelos, onde os utilizadores de confiança podem gerir o conteúdo do site. O uso recomendado do site de administração é limitado a uma ferramenta de gestão interna de uma organização. Não se destina a ser utilizado como base para a construção de uma interface pública completa.
4+
5+
O site de administração tem muitos pontos de entrada para personalização, mas não se limite a utilizar exclusivamente estes pontos de entrada. Se precisar de fornecer uma interface mais centrada no processo que ignore os detalhes de implementação em torno de tabelas e campos de base de dados, este é provavelmente o momento de escrever as suas próprias opiniões.
6+
7+
# Para mais informações:
8+
[Documentação para admin](https://docs.djangoproject.com/en/3.0/ref/contrib/admin/)

docs/admin/how-to-use.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Como utilizar o site do administrador (admin)
2+
3+
Para utilizar o site, basta ir a ``/{ADMIN_URL}``, que pode ser um valor diferente para segurança do website.
4+
5+
# Vai ter uma interface gráfica
6+
7+
![Página admin](../img/admin/page.PNG)
8+
9+
Na interface, existe a possibilidade de alterar os dados na base de dados de uma forma muito mais simples.
10+
11+
Convidamo-lo a jogar com a página, é realmente simples e esperamos que goste de modificar as suas páginas.
12+

docs/admin/role.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Papel de um administrador do servidor
2+
3+
As atribuições clássicas do administrador são as seguintes:
4+
5+
instalar e desinstalar ;
6+
7+
configuração;
8+
9+
manutenção;
10+
11+
actualização;
12+
13+
evolução;
14+
15+
apoio;
16+
17+
restauração;
18+
19+
planejamento;
20+
21+
supervisão;
22+
23+
aconselhamento;
24+
25+
apoio;
26+
27+
vigilância tecnológica no perímetro técnico de hardware e software do tipo servidor, principalmente sistemas operativos.
28+
29+
Por vezes tem a tarefa de administração de redes e/ou administração de bases de dados em pequenas organizações.
30+
31+
# Habilidades
32+
Os administradores de sistemas não são arquitectos ou programadores de software. Em geral, não lhes são atribuídas tarefas de concepção e implementação de novas aplicações. No entanto, devem compreender como o software se comporta para o implementar e resolver vários problemas que o afectam. O conhecimento de diferentes linguagens de escrita e automatização de rotina (tais como PowerShell, Bash e Perl ou Python) é muitas vezes necessário.
33+
34+
# Para mais informações
35+
36+
[Wikipedia - Administrador de Sistemas](https://en.wikipedia.org/wiki/System_administrator)

docs/contact/contact-us.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
### Em caso de qualquer problema, não hesite em contactar-nos:
2+
3+
Matheus Elyasha LOPES : [email protected]
4+
5+
6+
Eduardo Matheus BORGES : [email protected]

docs/database/database.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
2+
# Base de dados
3+
4+
O objectivo deste arquivo é explicar as principais relações da base de dados; a base de dados principal, as suas tabelas, a forma como os dados são armazenados e dar uma imagem global da nossa base de dados.
5+
6+
A aplicação do website da Hollow contém diferentes modelos, que são implementadas em arquivos do tipo `models.py`.
7+
8+
Se quiser criar um novo modelo, terá de o fazer neste arquivo.
9+
10+
Para mais informações sobre bases de dados Django, consulte por favor a [`documentação`](https://docs.djangoproject.com/en/3.0/topics/db/models/)
11+
12+
## Especificações
13+
14+
Serviço: heroku-postgresql
15+
16+
- PLANO : [standard-0](https://devcenter.heroku.com/articles/heroku-postgres-plans)
17+
- Aplicação de facturação:
18+
19+
- Região:
20+
- Primário:
21+
- Versão :
22+
- Criação :
23+
- Cópias de segurança:
24+
- Tabelas:
25+
- Usando :
26+
27+
## Comandos com Heroku ##
28+
29+
Utilize o [Heroku CLI](https://devcenter.heroku.com/articles/heroku-command-line) para aceder aos registos a partir da linha de comando.
30+
```bash
31+
heroku logs --tail --ps postgres --app {app_name}
32+
```
33+
34+
Para se ligar à base de dados (OBS: É melhor utilizar o DataGrip)
35+
```bash
36+
heroku psql --app {app_name}
37+
```
38+
39+
Para recuperar as referências do banco
40+
```bash
41+
heroku pg:credentials:url --app {app_name}
42+
```
43+
44+
Ajuda para exibir informação de base de dados
45+
```bash
46+
heroku pg --app {app_name} --help
47+
```
48+
49+
Para mais informações
50+
```bash
51+
heroku help
52+
```
53+
54+
## Ficha técnica
55+
56+
Os `dataclips` são essencialmente consultas SQL que podem ser partilhadas com os colegas através de Heroku.
57+
Se tiver uma query em SQL que gostaria de partilhar com a equipa, sinta-se à vontade para a acrescentar [aqui](https://data.heroku.com/dataclips).
58+
59+
60+
- Para mais informações, por favor visite [documentação](https://devcenter.heroku.com/articles/dataclips)
61+
62+
## Tabelas
63+
Para visualizar as tabelas e as suas relações, podemos utilizar o DataGrip e exportá-las em formato pdf.
64+
65+
Para encontrar o diagrama de relações, basta ir à pasta "tabelas", clicar com o botão direito do mouse e seleccionar "Diagramas" e "Ver Vista", ou usar o atalho "Ctrl+Alt+Shift+U".
66+
67+
68+
## Relacionamentos
69+
Na teoria das bases de dados relacionais, existem 3 tipos principais de relações:
70+
71+
1. Um-para-um (um-para-um):
72+
Uma linha num campo da tabela está relacionada apenas com um outro elemento da tabela.
73+
Por exemplo, temos as relações "membro" e "utilizador". O membro e o utilizador devem ser a mesma pessoa. Representam então um único elemento.
74+
75+
2. "Um a muitos (1 - n)": um elemento de um campo numa tabela pode ser ligado a vários outros elementos de outra tabela.
76+
Por exemplo, temos relações de "cidade" e "país". Uma cidade pode ter apenas um país, mas um país pode ter várias cidades.
77+
78+
3. "Muitos para muitos (n - n)": a relação de pluralidade é para trás e para a frente. Por exemplo, "utilizador" e "evento".
79+
Um utilizador pode ter vários eventos e um evento pode ter vários utilizadores.
80+
81+
## Como armazenar dados
82+
83+
O armazenamento de dados é muito importante. Temos de considerar os seguintes aspectos
84+
acrescentando dados à base de dados BRASA:
85+
86+
1) ``Dados actuais``: processar sempre dados actuais.
87+
2) `Integridade dos dados`: os dados devem ser completos, não corrompidos ou incompletos.
88+
3) `Limpeza de dados`: os dados devem estar limpos, nenhuma informação deve ser acrescentada a nada.
89+
4) ``Padronização dos dados``: Os dados devem ser padronizados. A mesma coluna da base de dados não deve ser utilizada.
90+
para dados que pertencem a dois tipos diferentes de formatação.
91+
5) `Consistência dos dados`: os dados devem ser coerentes. Do ponto de vista da homogeneidade, consistência e firmeza.
92+
Não se deve trabalhar com dados que estejam ou venham a estar quebrados no futuro.
93+
94+
Use o comando :
95+
```
96+
Command: INSERT
97+
Description: create new rows in a table
98+
Syntax:
99+
[ WITH [ RECURSIVE ] with_query [, ...] ]
100+
INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ]
101+
```
102+
103+
Para mais informações :
104+
105+
- Vídeo SQL : [CS50 SQL](https://www.youtube.com/watch?v=u5pDdEKnbKA)
106+
107+
- Folha de dados SQL e outras informações : [w3schools SQL](https://www.w3schools.com/sql/sql_ref_keywords.asp)
108+
109+

docs/database/postgres.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# PostgreSQL
2+
PostgreSQL™ é um sistema de gestão de bases de dados relacionais orientadas para objectos (ORDBMS) baseado no POSTGRES, Versão 4.2™. Foi desenvolvido na Universidade da Califórnia, no Departamento de Informática de Berkeley. POSTGRES é a origem de muitos conceitos que só serão disponibilizados em sistemas de gestão de bases de dados comerciais muito mais tarde.
3+
4+
PostgreSQL™ é um descendente livre do código original de Berkeley. Suporta grande parte da norma SQL, ao mesmo tempo que oferece muitas características modernas:
5+
6+
consultas complexas;
7+
8+
chaves estrangeiras;
9+
10+
gatilhos;
11+
12+
vistas editáveis;
13+
14+
integridade transaccional;
15+
16+
Controlo de Concorrência MultiVersion (MVCC).
17+
18+
Além disso, PostgreSQL™ pode ser alargado pelo utilizador de múltiplas formas, por exemplo, acrescentando :
19+
20+
novos tipos de dados;
21+
22+
novas funções;
23+
24+
novos operadores;
25+
26+
novas funções de agregação;
27+
28+
novos métodos de indexação;
29+
30+
novas línguas processuais.
31+
32+
E graças à sua licença liberal, PostgreSQL™ pode ser utilizado, modificado e distribuído livremente para qualquer fim, seja privado, comercial ou académico.
33+
34+
# Instalação
35+
Para instalar, basta ir a [o link para download](https://www.postgresql.org/download/) e escolher a versão correcta
36+
para o seu sistema operativo. Tenha cuidado com a instalação porque por vezes o instalador pode pedir para instalar outras coisas.
37+
38+
## Executando o servidor como localhost (127.0.0.1)
39+
Uma vez instalado, pode ir divertir-se com o postgreSQL. Basta utilizar o `pgAdmin 4`. Na verdade, não é necessário
40+
procure no seu sistema por um programa chamado "Postgres". Pode utilizar a interface gráfica ``pgAdmin```,
41+
ou utilizar directamente na "linha de comando" com "psql".
42+
43+
44+
## Tutorial PostgreSQL
45+
Se quiser aprender a utilizar o software e achar que é uma boa ideia ter os seus conhecimentos.
46+
Aviso: é especialmente importante que o administrador do sítio tenha bons conhecimentos para gerir a base de dados.
47+
48+
[Tutorial postgres](https://docs.postgresql.fr/10/tutorial.html)
49+
50+
51+
## Para mais informações, ver a documentação
52+
[Documentação (Inglês)](https://www.postgresql.org/docs/)
53+
54+
[Documentação actual (francês)](https://docs.postgresql.fr/)
55+
56+
[PostgreSQL 10 Documentação (francês)](https://docs.postgresql.fr/10)
57+
58+

docs/database/queries.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# SQL: ``Linguagem de Consulta Estruturada`` ou ``Linguagem de Consulta Estruturada``.
2+
3+
SQL é uma linguagem informática padronizada para operar bases de dados relacionais.
4+
De fato, no nosso projeto, não precisamos necessariamente utilizar SQL, uma vez que Django, já é capaz de
5+
devidamente escrever SQL na nossa base de dados. Por outro lado, se alguma vez precisar de fazer um estudo mais robusto, precisa de pensar se SQL não ser'a a resposta correcta.
6+
7+
[Cursos e tutoriais em linguagem SQL](https://sql.sh/)
8+
9+
[Wikipedia - SQL](https://fr.wikipedia.org/wiki/Structured_Query_Language)
10+
11+
[Tutorial SQL com PostgreSQL](https://docs.postgresql.fr/10/tutorial-sql.html)
12+
13+
[Vídeo CS50 SQL](https://www.youtube.com/watch?v=u5pDdEKnbKA)
14+
15+
[Cheatsheet and other info (w3schools SQL)](https://www.w3schools.com/sql/sql_ref_keywords.asp)

docs/deployment/deploy.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# Implantação
2-
A implantação do site da **Hollow** e todas as atividades que tornam o serviço web disponível para uso.
1+
# Deploy
2+
O deploy do site da **Hollow** e todas as atividades que tornam o serviço web disponível para uso.
33

44
As fases da atividade de implantação são:
55

docs/development/adding-feature.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
### Para criar uma nova característica você deve :
2+
3+
* Criar uma url correspondente à página dedicada a seu recurso em algum arquivo [urls.py`](https://docs.djangoproject.com/en/3.0/topics/http/urls/).
4+
* Crie o arquivo html correspondente à sua nova página no diretório [`templates`](https://developer.mozilla.org/fr/docs/Web/HTML).
5+
* Crie as consultas relacionadas à sua nova página no arquivo [views.py`](https://docs.djangoproject.com/en/3.0/topics/http/views/).
6+
* Se sua característica requer um formulário, você deve criá-lo no arquivo [`forms.py`](https://docs.djangoproject.com/en/3.0/ref/forms/).
7+
* Para mudar a aparência de sua página você deve criar um arquivo css correspondente à sua página na pasta [static/css](https://developer.mozilla.org/fr/docs/Web/CSS/Reference).
8+
* Se você quiser adicionar imagens e fontes para sua página, isto será feito na pasta `media`.

docs/development/dev.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Branch `develop`
2+
3+
No projeto Azure DevOps da aplicação, o branch em que o desenvolvimento será feito é a branch __dev__.
4+
5+
Quando você quiser modificar o código da aplicação, você precisa :
6+
7+
* Criar uma branch __nova__ (com um nome explícito, se possível, relacionado com as mudanças que serão feitas ali).
8+
9+
* Uma vez feitas as mudanças neste novo branch, o `commit` deve ser formado com um título explícito e uma breve descrição do trabalho realizado na branch.
10+
11+
* Depois é feito um pedido de __pull request__
12+
13+
* Uma vez que todos os desenvolvedores tenham assegurado que não haja conflito entre o novo código e o código existente, podemos __fundir__ a nova branch na branch __dev__.
14+
15+
16+
***É fortemente recomendado não modificar diretamente a branch dev, caso contrário podem ser introduzidos erros no código, cuja origem não pode ser conhecida a priori.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
Fazer o clone do repositório na sua maquina local :
2+
```bash
3+
$ git clone https://[email protected]/coding55/hollow-website/_git/hollow-website
4+
```
5+
6+
Migrar o banco de dados :
7+
8+
```bash
9+
$ python manage.py makemigrations
10+
11+
$ python manage.py migrate --noinput
12+
```
13+
14+
Iniciar um servidor Django :
15+
16+
```bash
17+
$ python manage.py runserver
18+
```
19+
20+
Agora você deve ter a sua aplicação em [localhost](http://127.0.0.1:8000) no seu navegador.
21+
22+
23+
Quando quiser sair, não se esqueça de fechar o servidor :
24+
25+
```bash
26+
Quit the server with CTRL-BREAK
27+
(In Windows) Ctrl + C
28+
```

docs/development/testing.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Antes de implantar a aplicação do website da Hollow, é necessário realizar vários testes para garantir que a aplicação funcione corretamente.
2+
3+
Já codificamos alguns testes básicos antes de lançar nossa versão da aplicação, mas caso novas funcionalidades sejam adicionadas à aplicação básica, seria aconselhável escrever novos testes dedicados a esta funcionalidade nos arquivos `tests.py`.
4+
5+
Para mais informações sobre os testes, favor consultar [a documentação dedicada](https://docs.djangoproject.com/fr/3.0/internals/contributing/writing-code/unit-tests/)

docs/django/django.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
### Princípio Django
2+
3+
Django é uma estrutura baseada no princípio MVC ou MTV, composta de três partes distintas:
4+
5+
1. Uma linguagem flexível de modelos que permite gerar HTML, XML ou qualquer outro formato de texto ;
6+
2. Um controlador fornecido sob a forma de um URL "remapping" baseado em expressões regulares ;
7+
3. Uma API de acesso aos dados é gerada automaticamente pela estrutura compatível com CRUD. Não há necessidade de escrever consultas SQL associadas aos formulários, elas são geradas automaticamente pelo ORM.
8+
9+
Além da API de acesso aos dados, uma interface de administração funcional é gerada a partir do modelo de dados. Um sistema de validação dos dados inseridos pelo usuário também está disponível e permite que mensagens de erro automáticas sejam exibidas.
10+
11+
Também estão incluídos :
12+
13+
* um servidor web leve que permite desenvolver e testar suas aplicações em tempo real, sem necessidade de implantação ;
14+
15+
* um elaborado sistema de processamento de formulários com widgets para interagir entre HTML e um banco de dados. São oferecidas inúmeras possibilidades de controle e processamento;
16+
17+
* uma estrutura de caching web que pode utilizar diferentes métodos (MemCached, sistema de arquivo, banco de dados, personalizado);
18+
19+
* suporte para classes intermediárias (middleware) que podem ser colocadas em vários estágios de processamento de consultas para integrar tratamentos particulares (caching, internacionalização, acesso...);
20+
21+
* suporte completo Unicode.
22+
23+
Para mais informações, consulte [a documentação Django](https://docs.djangoproject.com/en/3.0/)

docs/django/python.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
A estrutura Django usa Python como linguagem de programação.
2+
3+
Para codificar a aplicação do website Hollow utilizamos [`Python 3.8.5`](https://www.python.org/downloads/release/python-385/)
4+
5+
Para mais informações, consulte [a documentação Python](https://www.python.org/doc/)

docs/heroku/static-files.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ Para mais informações:
1313

1414
[Amazon S3](https://aws.amazon.com/s3/)
1515

16-
[Prix - Amazon S3](https://aws.amazon.com/s3/pricing/)
16+
[Preço - Amazon S3](https://aws.amazon.com/s3/pricing/)
1717

1818
[Amazon AWS](https://aws.amazon.com/)

docs/img/admin/page.PNG

348 KB
Loading

docs/img/favicon-hollow.png

3.13 KB
Loading

docs/img/logo_hollow.png

8.14 KB
Loading

0 commit comments

Comments
 (0)