https://github.com/pymarcus/basic_login_system
Atividade de programação web 05-01-23
https://github.com/pymarcus/basic_login_system
css flask html login-system python
Last synced: 26 days ago
JSON representation
Atividade de programação web 05-01-23
- Host: GitHub
- URL: https://github.com/pymarcus/basic_login_system
- Owner: PyMarcus
- Created: 2023-01-05T07:26:30.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-06T00:10:32.000Z (about 3 years ago)
- Last Synced: 2025-10-09T12:05:17.688Z (6 months ago)
- Topics: css, flask, html, login-system, python
- Language: HTML
- Homepage:
- Size: 79.1 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# basic_login_system
## Atividade de programação web 05-01-23
A tarefa consiste em fazer um sistema básico de login,porém, implementei algumas funcionalidades a mais.
Além disso, ao invés de utilizar Java Script, optei por utilizar o microframework web Python, chamado Flask: https://flask.palletsprojects.com/en/2.2.x/
### Login route ( /login )

### Signup route ( /signup )

### Invalid route

### Login success ( /profile )

### Possíveis status code tratados, no backend, do protocolo HTTP:
✔️ [Status 200] Success
👌 [Status 201] Update
🚗 [Status 302] Redirect
❌ [Status 404] Not found
### database utilizado:
🗳️ SQLite3
### Tecnologias Frontend:
5️⃣ HTML5
🖌️ CSS3
### Tecnologias Backend:
🐍 Python3.10.5
### Testado no Browser:
🦊 Firefox
### Sistema Operacional:
🐉 Debian (Linux)
### Dependências e versões disponíveis no arquivo requirements.txt, que se encontra neste diretório.
Para instalar:
pip install -r requirements.txt
Feito isso, as dependências necessárias serão baixadas.Contudo, é importante ter algum gerenciador de pacotes, no caso, utilizo o pip3.
### Criar o banco de dados, se desejar:

### Como executar localmente:
Apontar a variável de ambiente para o arquivo main.py
$env:FLASK_APP="main.py"
Executar:
flask run --reload
### Patterns utilizado:
Factory
O Factory Method é um padrão criacional de projeto que fornece uma interface para criar objetos em uma superclasse, mas permite que as subclasses alterem o tipo de objetos que serão criados
### Diagrama do Database:

### 🔒 Segurança da aplicação:
A aplicação conta com autenticação (confirma a integridade do usuário) e autorização (permite acesso aos recursos).
As senhas são salvas no database com a criptografia sha256:
"O SHA256 é considerado extremamente seguro, ao mesmo tempo em que possibilita um alto poder computacional. Graças a essas características ele é utilizado para mineração de bitcoins e pela própria NSA nos Estados Unidos." - Telium

Somado a isso, há a verificação se o usuário já está registrado no banco ou se o hash da senha são correspondentes.

Há também a proteção contra acesso não autorizado a uma rota privada:

### Se tudo estiver correto, o login é realizado:
O nome do usuário comprava a existência da sessão criada

### Logout
O sistema de logout verifica ,primeiramente, se o usuário está logado.Se estiver, basta clicar no link e isto é efetuado.

### CONCLUSÃO
Após efetuar o logout, o usuário será redirecionado a página index:
