diff --git a/app/app.py b/app/app.py new file mode 100644 index 0000000..f0bd236 --- /dev/null +++ b/app/app.py @@ -0,0 +1,49 @@ +from flask import Flask, render_template, request, redirect, url_for, session, flash +import os + +app = Flask(__name__) +app.secret_key = 'segredo-super-seguro' + +# Rota de login +@app.route('/', methods=['GET', 'POST']) +@app.route('/login', methods=['GET', 'POST']) +def login(): + if request.method == 'POST': + email = request.form['email'] + password = request.form['password'] + if email == 'admin@admin.com' and password == '123456': + session['user'] = 'Admin' + return redirect(url_for('dashboard')) + else: + flash('Credenciais inválidas.', 'danger') + return render_template('login.html') + +# Rota protegida +@app.route('/dashboard') +def dashboard(): + if 'user' not in session: + return redirect(url_for('login')) + return render_template('dashboard.html', user_name=session['user']) + +# Rota de upload +@app.route('/upload', methods=['GET', 'POST']) +def upload(): + if 'user' not in session: + return redirect(url_for('login')) + if request.method == 'POST': + file = request.files['file'] + if file: + filepath = os.path.join('uploads', file.filename) + os.makedirs('uploads', exist_ok=True) + file.save(filepath) + flash('Arquivo enviado com sucesso!', 'success') + return render_template('upload.html') + +# Logout +@app.route('/logout') +def logout(): + session.clear() + return redirect(url_for('login')) + +if __name__ == '__main__': + app.run(debug=True, port=5003) diff --git a/app/statics/css/style.css b/app/statics/css/style.css new file mode 100644 index 0000000..5d50b11 --- /dev/null +++ b/app/statics/css/style.css @@ -0,0 +1,27 @@ +body { + background-color: #f8f9fa; + font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; +} + +h3 { + color: #343a40; +} + +form { + background: #fff; + padding: 20px; + border-radius: 10px; + box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1); +} + +.navbar-brand { + font-weight: bold; +} + +button.btn { + transition: background-color 0.3s ease; +} + +button.btn:hover { + opacity: 0.9; +} diff --git a/app/templates/base.html b/app/templates/base.html new file mode 100644 index 0000000..6bf398b --- /dev/null +++ b/app/templates/base.html @@ -0,0 +1,21 @@ + + +
+ +Usuário logado: {{ user_email }}
- Sair - - +{% extends "base.html" %} + +{% block title %}Dashboard - OCR App{% endblock %} + +{% block content %} +Escolha uma ação no menu ou envie um novo documento para OCR.
+Enviar novo documento +{% endblock %} diff --git a/app/templates/login.html b/app/templates/login.html index 6384905..5b48dd8 100644 --- a/app/templates/login.html +++ b/app/templates/login.html @@ -1,32 +1,22 @@ - - - - - -