diff --git a/frontend/app.py b/frontend/app.py
index 1bd7b5e..31a73c2 100644
--- a/frontend/app.py
+++ b/frontend/app.py
@@ -14,14 +14,14 @@ def home():
@app.route('/register', methods=['GET', 'POST'])
def register():
- import sqlLite.get as getter
+ import standard.getter as st_getter
import sqlLite.set as setter
- import useful.hash as hasher
+
if request.method == 'POST':
- username = request.form['username'].strip()
- email = request.form.get('email').strip()
- password = request.form.get('password').strip()
- pwd_confirm = request.form.get('confirm_password').strip()
+ username = request.form['username']
+ email = request.form.get('email')
+ password = request.form.get('password')
+ pwd_confirm = request.form.get('confirm_password')
if not email or not password or not pwd_confirm or not username:
flash('Please fill out all fields', 'error')
@@ -30,18 +30,22 @@ def register():
if password != pwd_confirm:
flash('Passwords do not match', 'error')
return redirect(url_for('register'))
- # Hash the password
- hashed_password = hasher.sha512(password.encode('utf-8')).hexdigest()
+
try:
- # Call your setter function to add user to DB
- setter.set_login(username, email, hashed_password)
- flash('Registration successful! Please log in.', 'success')
- return redirect(url_for('login'))
+ if st_getter.get_validate_email(email):
+ setter.set_login(username, email, password)
+ flash('Registration successful! Please log in.', 'success')
+ return redirect(url_for('login'))
+ else:
+ flash('Invalid email format', 'error')
+ return redirect(url_for('register'))
except Exception as e:
flash(f'Error: {str(e)}', 'error')
return redirect(url_for('register'))
-
+ # For GET-requests:
return render_template('register.html')
+
+
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
@@ -49,6 +53,7 @@ def login():
enter_password = request.form.get('password')
import hashlib
import sqlLite.get as getter
+ import standard.getter as st_getter
stored_hash = getter.get_password_by_email(enter_email) # use email here
@@ -56,7 +61,7 @@ def login():
flash("User not found!")
return redirect(url_for("login"))
- hash_entered = hashlib.sha512(enter_password.encode('utf-8')).hexdigest()
+ hash_entered = st_getter.get_password_hash(enter_password)
if hash_entered == stored_hash:
return redirect(url_for('dashboard'))
@@ -70,4 +75,5 @@ def login():
@app.route('/dashboard')
def dashboard():
- return "Welcome to the dashboard! Login successful."
+ #return "Welcome to the dashboard! Login successful."
+ return render_template('dashboard.html')
diff --git a/frontend/templates/dashboard.html b/frontend/templates/dashboard.html
new file mode 100644
index 0000000..5244e39
--- /dev/null
+++ b/frontend/templates/dashboard.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+ Register
+
+
+
+
+
diff --git a/frontend/templates/register.html b/frontend/templates/register.html
index e735073..8563531 100644
--- a/frontend/templates/register.html
+++ b/frontend/templates/register.html
@@ -72,6 +72,7 @@
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
+ input[type="username"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
border-color: #2575fc;
diff --git a/main.py b/main.py
index f947c04..430e84f 100644
--- a/main.py
+++ b/main.py
@@ -5,15 +5,8 @@ from frontend.app import app
sqlLite.set_db_name("databases/test.db")
import sqlLite.create as create
-import sqlLite.set as setter
-import sqlLite.get as getter
-#import testing as testing
-#testing.sqllite_reset()
create.create_table_t_user()
-setter.set_login("test", "test@test.test", "password")
-#setter.set_login("admin", "admin@test.test", "admin")
-#getter.get_password_by_email("admin@fuhlig.de")
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=8080)
diff --git a/sqlLite/__init__.py b/sqlLite/__init__.py
index 83dee19..8c2255d 100644
--- a/sqlLite/__init__.py
+++ b/sqlLite/__init__.py
@@ -1,5 +1,3 @@
-db_name = "databases/test.db"
-
def set_db_name(name):
global db_name
db_name = name
\ No newline at end of file
diff --git a/sqlLite/auth.py b/sqlLite/auth.py
new file mode 100644
index 0000000..eb862b5
--- /dev/null
+++ b/sqlLite/auth.py
@@ -0,0 +1,17 @@
+
+def login(name_email, password):
+ import get as getter
+ password_stored = getter.get_password_by_email(name_email)
+ if password_stored is None:
+ return None
+ elif password_stored != password:
+ return None
+ else:
+ return True
+
+def register(username, email, password):
+ import standard.getter as st_getter
+ if st_getter.get_validate_email(email):
+ hashed_password = st_getter.get_password_hash(password)
+ import sqlLite.set as sq_setter
+ sq_setter.set_login(username, email,hashed_password)
\ No newline at end of file
diff --git a/sqlLite/set.py b/sqlLite/set.py
index df70439..3ebe9a2 100644
--- a/sqlLite/set.py
+++ b/sqlLite/set.py
@@ -1,17 +1,14 @@
from hashlib import sha512
import sqlite3
-import useful.check as check
-import useful.hash as hash
+import standard.getter as st_getter
from . import db_name
-
-
def set_login(username, email, password):
db_con = sqlite3.connect(db_name)
db_cur = db_con.cursor()
try:
- if check.check_email(email):
- db_cur.execute("INSERT INTO T_USERS (USERNAME, EMAIL, PASSWORD) VALUES (?,?,?)", (username ,email , hash.get_password_hash(password)))
+ if st_getter.get_validate_email(email):
+ db_cur.execute("INSERT INTO T_USERS (USERNAME, EMAIL, PASSWORD) VALUES (?,?,?)", (username ,email , st_getter.get_password_hash(password)))
db_con.commit()
else:
print("Email entered is not valid")
diff --git a/standard/getter.py b/standard/getter.py
new file mode 100644
index 0000000..4564e4e
--- /dev/null
+++ b/standard/getter.py
@@ -0,0 +1,12 @@
+def get_password_hash(password):
+ from hashlib import sha512
+ password = password.strip()
+ return sha512(password.encode('utf-8')).hexdigest()
+
+def get_validate_email(email):
+ import re
+ valid = re.match(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$', email)
+ if valid:
+ return True
+ else:
+ return False
\ No newline at end of file
diff --git a/useful/check.py b/useful/check.py
deleted file mode 100644
index ff57fb2..0000000
--- a/useful/check.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import re
-
-def check_email(email):
- # Click on Edit and place your email ID to validate
- #email = "my.ownsite@our-earth.de"
- valid = re.match(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$', email)
- if valid:
- return True
- else:
- return False
\ No newline at end of file
diff --git a/useful/hash.py b/useful/hash.py
deleted file mode 100644
index 9682ad9..0000000
--- a/useful/hash.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from hashlib import sha512
-
-def get_password_hash(password):
- password = password.strip()
- return sha512(password.encode('utf-8')).hexdigest()
\ No newline at end of file