From ee114f5bc9d5f709951b2b7baef52bcfe669ef27 Mon Sep 17 00:00:00 2001 From: Jefferson Gomes Date: Wed, 19 Jun 2024 15:01:10 -0300 Subject: [PATCH 01/34] - Criado a tela de cadastro de usuario --- app/routes.py | 5 ++ app/templates/register.html | 137 ++++++++++++++++++++++++++++++++++++ 2 files changed, 142 insertions(+) create mode 100644 app/templates/register.html diff --git a/app/routes.py b/app/routes.py index 5e1ff11..0ab228e 100644 --- a/app/routes.py +++ b/app/routes.py @@ -20,6 +20,11 @@ def login(): return render_template('login.html') +@app.route('/register') +def register(): + app.logger.info('Acesso à página de Cadastro') + return render_template('register.html') + @app.route('/processar_formulario', methods=['POST']) def processar_formulario(): diff --git a/app/templates/register.html b/app/templates/register.html new file mode 100644 index 0000000..41f6b5c --- /dev/null +++ b/app/templates/register.html @@ -0,0 +1,137 @@ + + + + + + Cadastro + + + + + + + + + + + +
+ Avatar +

Cadastro

+
+
+ +
+ +
+ +
+ +
+ +
+ +
+
+ + +
+ Esqueceu a senha? +
+ + + +
+ +

Ainda não tem uma conta?

+ + +
+
+ + + + + + + + + From aea5297134bb3146680b8e44b0f017db18d8c014 Mon Sep 17 00:00:00 2001 From: Jefferson Gomes Date: Fri, 21 Jun 2024 11:07:33 -0300 Subject: [PATCH 02/34] - update gitignore (node_modules + venv) --- .gitignore | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6644ce0..6cd3361 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ /relatorios -app/__pycache__ +backend/__pycache__ app/logs -*.docx \ No newline at end of file +*.docx +/backend/venv/* +/frontend/node_modules/* From f1f23dcc488ea2cc89dda1d4d82b9c91a1213430 Mon Sep 17 00:00:00 2001 From: Jefferson Gomes Date: Fri, 21 Jun 2024 15:23:17 -0300 Subject: [PATCH 03/34] - update pycache --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6cd3361..d9c2513 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ app/logs *.docx /backend/venv/* /frontend/node_modules/* +/old/app/__pycache__/* From a055710692ad035b0c6f030fd141aaa3517f6a30 Mon Sep 17 00:00:00 2001 From: Jefferson Gomes Date: Fri, 21 Jun 2024 15:27:45 -0300 Subject: [PATCH 04/34] Old code --- old/app/__init__.py | 22 +++++ old/app/logs/app.log | 59 ++++++++++++++ old/app/static/img/avatar.png | Bin 0 -> 27952 bytes old/app/static/js/script.js | 73 +++++++++++++++++ old/app/templates/index.html | 122 ++++++++++++++++++++++++++++ old/app/templates/login.html | 138 ++++++++++++++++++++++++++++++++ old/app/templates/register.html | 137 +++++++++++++++++++++++++++++++ old/docker/Dockerfile | 25 ++++++ old/docker/docker-compose.yml | 7 ++ 9 files changed, 583 insertions(+) create mode 100644 old/app/__init__.py create mode 100644 old/app/logs/app.log create mode 100644 old/app/static/img/avatar.png create mode 100644 old/app/static/js/script.js create mode 100644 old/app/templates/index.html create mode 100644 old/app/templates/login.html create mode 100644 old/app/templates/register.html create mode 100644 old/docker/Dockerfile create mode 100644 old/docker/docker-compose.yml diff --git a/old/app/__init__.py b/old/app/__init__.py new file mode 100644 index 0000000..7a76b38 --- /dev/null +++ b/old/app/__init__.py @@ -0,0 +1,22 @@ +from flask import Flask + +# Inicialização do aplicativo Flask +app = Flask(__name__) + +# Configuração básica do logger +import logging +import os + +LOG_DIR = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'logs') +LOG_FILE = os.path.join(LOG_DIR, 'app.log') +#LOG_FILE_DEBUG = os.path.join(LOG_DIR, 'debug.log') + + +if not os.path.exists(LOG_DIR): + os.makedirs(LOG_DIR) + +logging.basicConfig(filename=LOG_FILE, level=logging.INFO) +#logging.basicConfig(filename=LOG_FILE_DEBUG, level=logging.DEBUG) + +# Importação de rotas para registrar rotas +from backend import routes diff --git a/old/app/logs/app.log b/old/app/logs/app.log new file mode 100644 index 0000000..44e493c --- /dev/null +++ b/old/app/logs/app.log @@ -0,0 +1,59 @@ +INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +INFO:werkzeug:Press CTRL+C to quit +INFO:werkzeug: * Restarting with stat +WARNING:werkzeug: * Debugger is active! +INFO:werkzeug: * Debugger PIN: 108-647-105 +INFO:app:Acesso pgina inicial +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:03:18] "GET / HTTP/1.1" 200 - +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:03:20] "GET /static/js/script.js HTTP/1.1" 200 - +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:03:22] "GET /favicon.ico HTTP/1.1" 404 - +INFO:app:Acesso pgina de Cadastro +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:03:31] "GET /register HTTP/1.1" 200 - +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:03:31] "GET /static/js/main.js HTTP/1.1" 200 - +INFO:app:Acesso pgina de Cadastro +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:03:55] "GET /register HTTP/1.1" 200 - +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:03:55] "GET /static/js/main.js HTTP/1.1" 304 - +INFO:app:Acesso pgina de Cadastro +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:07:07] "GET /register HTTP/1.1" 200 - +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:07:07] "GET /static/js/main.js HTTP/1.1" 304 - +INFO:app:Acesso pgina de Cadastro +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:09:14] "GET /register HTTP/1.1" 200 - +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:09:15] "GET /static/js/main.js HTTP/1.1" 304 - +INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +INFO:werkzeug:Press CTRL+C to quit +INFO:werkzeug: * Restarting with stat +WARNING:werkzeug: * Debugger is active! +INFO:werkzeug: * Debugger PIN: 108-647-105 +INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +INFO:werkzeug:Press CTRL+C to quit +INFO:werkzeug: * Restarting with stat +WARNING:werkzeug: * Debugger is active! +INFO:werkzeug: * Debugger PIN: 108-647-105 +INFO:app:Acesso pgina de Cadastro +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:11:22] "GET /register HTTP/1.1" 200 - +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:11:24] "GET /static/js/main.js HTTP/1.1" 200 - +INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +INFO:werkzeug:Press CTRL+C to quit +INFO:werkzeug: * Restarting with stat +WARNING:werkzeug: * Debugger is active! +INFO:werkzeug: * Debugger PIN: 108-647-105 +INFO:app:Acesso pgina de Cadastro +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:12:17] "GET /register HTTP/1.1" 200 - +INFO:werkzeug:127.0.0.1 - - [18/Jun/2024 20:12:17] "GET /static/js/main.js HTTP/1.1" 200 - +INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +INFO:werkzeug:Press CTRL+C to quit +INFO:werkzeug: * Restarting with stat +WARNING:werkzeug: * Debugger is active! +INFO:werkzeug: * Debugger PIN: 108-647-105 +INFO:app:Acesso pgina de Cadastro +INFO:werkzeug:127.0.0.1 - - [19/Jun/2024 14:03:54] "GET /register HTTP/1.1" 200 - +INFO:werkzeug:127.0.0.1 - - [19/Jun/2024 14:03:57] "GET /static/img/avatar.png HTTP/1.1" 200 - +INFO:werkzeug:127.0.0.1 - - [19/Jun/2024 14:04:02] "GET /favicon.ico HTTP/1.1" 404 - +INFO:app:Acesso pgina de Cadastro +INFO:werkzeug:127.0.0.1 - - [19/Jun/2024 14:05:27] "GET /register HTTP/1.1" 200 - +INFO:werkzeug:127.0.0.1 - - [19/Jun/2024 14:05:27] "GET /static/img/avatar.png HTTP/1.1" 304 - diff --git a/old/app/static/img/avatar.png b/old/app/static/img/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..7349ae56964a4f747074ec799e631305b526203e GIT binary patch literal 27952 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