Python Login/Register GUI with SQLite – FuzzuTech Project πŸ”

 Demo :


Click Video πŸ‘‡πŸ‘‡πŸ‘‡


























✅ Description:

Explore this unique Login/Register GUI app developed using Python’s customtkinter and sqlite3. Perfect for beginners and intermediate developers who want to add a clean authentication system to their desktop apps. Features modern UI, dark mode, and switchable login/register screens. A great portfolio addition!
Watch the Short and try the source code. #FuzzuTech


✅ Features :

  • Built with customtkinter for a modern look

  • SQLite integration for persistent local user storage

  • Dark mode GUI

  • Toggle between login/register forms

  • 100% offline – no server setup needed

  • Ideal for: portfolio projects, tools with user access, and GUI-based login screens


Code :


import customtkinter as ctk

import tkinter.messagebox as msg

import sqlite3


# Set appearance

ctk.set_appearance_mode("dark")

ctk.set_default_color_theme("blue")


# Initialize app

app = ctk.CTk()

app.geometry("400x500")

app.title("πŸ” Fuzzu Login/Register GUI")


# Database setup

conn = sqlite3.connect("fuzzu_users.db")

cursor = conn.cursor()

cursor.execute("""

CREATE TABLE IF NOT EXISTS users (

    id INTEGER PRIMARY KEY AUTOINCREMENT,

    username TEXT NOT NULL UNIQUE,

    password TEXT NOT NULL

)

""")

conn.commit()


# --- Switch Frame Function ---

def switch_frame(frame):

    login_frame.pack_forget()

    register_frame.pack_forget()

    frame.pack(pady=20)


# --- Login Frame ---

login_frame = ctk.CTkFrame(app)

ctk.CTkLabel(login_frame, text="πŸ” Login", font=("Arial", 24)).pack(pady=10)

login_user = ctk.CTkEntry(login_frame, placeholder_text="Username")

login_user.pack(pady=10)

login_pass = ctk.CTkEntry(login_frame, placeholder_text="Password", show="*")

login_pass.pack(pady=10)


def login():

    u, p = login_user.get(), login_pass.get()

    cursor.execute("SELECT * FROM users WHERE username=? AND password=?", (u, p))

    if cursor.fetchone():

        msg.showinfo("Login Success", "Welcome back, " + u + "!")

    else:

        msg.showerror("Failed", "Incorrect username or password!")


ctk.CTkButton(login_frame, text="Login", command=login).pack(pady=10)

ctk.CTkButton(login_frame, text="Go to Register", command=lambda: switch_frame(register_frame)).pack(pady=5)


# --- Register Frame ---

register_frame = ctk.CTkFrame(app)

ctk.CTkLabel(register_frame, text="πŸ“ Register", font=("Arial", 24)).pack(pady=10)

reg_user = ctk.CTkEntry(register_frame, placeholder_text="Username")

reg_user.pack(pady=10)

reg_pass = ctk.CTkEntry(register_frame, placeholder_text="Password", show="*")

reg_pass.pack(pady=10)


def register():

    u, p = reg_user.get(), reg_pass.get()

    try:

        cursor.execute("INSERT INTO users(username, password) VALUES (?, ?)", (u, p))

        conn.commit()

        msg.showinfo("Success", "Account created! Now login.")

        switch_frame(login_frame)

    except sqlite3.IntegrityError:

        msg.showerror("Failed", "Username already exists!")


ctk.CTkButton(register_frame, text="Register", command=register).pack(pady=10)

ctk.CTkButton(register_frame, text="Back to Login", command=lambda: switch_frame(login_frame)).pack(pady=5)


# Show Login by default

login_frame.pack(pady=20)

app.mainloop()

Comments

Popular posts from this blog

πŸš€ Simple Login & Registration System in Python Tkinter πŸ“±

πŸš€ Create a Python Screen Recorder with Audio (Complete Code)

Python IP Tracker App with GUI | Track IP Location Real-Time! (Working Project)