🚀 Submit Your Details

📦 Backend Code (API Route)

import mongoose from "mongoose";
import MongoDBURl from "../../../MongoDB/mongodb-connect";
import userModel from "../../../MongoDB/userModel";
import { NextResponse } from "next/server";

export const POST = async (req) => {
    await mongoose.connect(MongoDBURl);
    const payload = await req.json();
    //   const { name, role, skills } = payload;


    const newUser = new userModel(payload);
    const user = await newUser.save();

    return NextResponse.json({ result: user, success: true });
};

🧠 Frontend Code (React Form)

'use client'
import React, { useState } from 'react'

const MongodbPostFE = () => {
    const [name, setName] = useState("");
    const [role, setRole] = useState("");
    const [skills, setSkills] = useState("");

    const handlebtn = async () => {
        try {
            // const response = await fetch('http://localhost:3000/api/mongodb-POST', {
            const response = await fetch('https://complete-nextjs-ten.vercel.app/api/mongodb-POST', {
                method: "POST",
                headers: {
                    "Content-Type": "application/json"
                },
                body: JSON.stringify({ name, role, skills }),
            });

            const data = await response.json();

            if (data.success) {
                alert("✅ Data Saved Successfully");
                setName("");
                setRole("");
                setSkills("");
            } else {
                alert("❌ Something went wrong, please try again.");
            }
        } catch (error) {
            console.error("Fetch error:", error);
            alert("❌ Server Error");
        }
    };

    return (
        <div className="p-4 min-h-screen">
            <h2 className="text-xl font-semibold mb-4">Submit Your Details</h2>

            <input
                type="text"
                placeholder="Enter Your Name"
                value={name}
                onChange={(e) => setName(e.target.value)}
                className="block mb-2 p-2 text-black rounded border border-gray-300 w-full"
            />

            <input
                type="text"
                placeholder="Enter Your Role"
                value={role}
                onChange={(e) => setRole(e.target.value)}
                className="block mb-2 p-2 text-black rounded border border-gray-300 w-full"
            />

            <input
                type="text"
                placeholder="Enter Your Skills"
                value={skills}
                onChange={(e) => setSkills(e.target.value)}
                className="block mb-4 p-2 text-black rounded border border-gray-300 w-full"
            />

            <button
                onClick={handlebtn}
                className="bg-green-600 text-white px-4 py-2 rounded hover:bg-green-700 transition w-full"
            >
                Submit
            </button>
        </div>
    );
};

export default MongodbPostFE;