import tkinter as tk
from tkinter import messagebox, ttk
from pymongo import MongoClient

# Conectar a MongoDB Atlas
client = MongoClient("mongodb+srv://edymongodb:28Sep2007@cluster0.iklclhc.mongodb.net/?appName=Cluster0")
db = client["escuela"]
collection = db["alumnos"]

# Crear índice único en teléfono para evitar duplicados
collection.create_index("telefono", unique=True)

# Crear ventana
root = tk.Tk()
root.title("Registro de Alumnos")
root.geometry("350x250")

# Campos de entrada
ttk.Label(root, text="Nombre:").pack(pady=5)
nombre_entry = ttk.Entry(root, width=30)
nombre_entry.pack(pady=5)

ttk.Label(root, text="Grupo:").pack(pady=5)
grupo_entry = ttk.Entry(root, width=30)
grupo_entry.pack(pady=5)

ttk.Label(root, text="Teléfono:").pack(pady=5)
telefono_entry = ttk.Entry(root, width=30)
telefono_entry.pack(pady=5)

def guardar():
    nombre = nombre_entry.get().strip()
    grupo = grupo_entry.get().strip()
    telefono = telefono_entry.get().strip()
    
    if not nombre or not grupo or not telefono:
        messagebox.showwarning("Error", "Llena todos los campos")
        return
    
    if not telefono.isdigit():
        messagebox.showwarning("Error", "El teléfono debe ser solo números")
        return
    
    try:
        collection.insert_one({
            "nombre": nombre,
            "grupo": grupo,
            "telefono": telefono
        })
        messagebox.showinfo("Éxito", "Registro guardado")
        nombre_entry.delete(0, tk.END)
        grupo_entry.delete(0, tk.END)
        telefono_entry.delete(0, tk.END)
    except Exception as e:
        messagebox.showerror("Error", "El teléfono ya existe")

# Botones
botones = ttk.Frame(root)
botones.pack(pady=15)

ttk.Button(botones, text="Guardar", command=guardar).pack(side=tk.LEFT, padx=5)

root.mainloop()
client.close()