Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Selam ben nuxt 3 de proje yapıyorum ve bazı kafa karışıklıklarım oldu ben ilk öğrendiğimde ve bazı videolarda backendden gelen apinin server klasöründe çekilip sonra ordan alınmasını görmüştüm. Şöyle:
server/api/currency/[code].js

export default defineEventHandler(async (event) => {
     const { code } = event.context.params;
     const { currencyKey } = useRuntimeConfig();
     const url = `https://api.currencyapi.com/v3/latest?currencies=${code}&apikey=${currencyKey}`;
     const { data } = await $fetch(url);
     return data;
});

pages/currency.vue

const title = ref("Currency");
const { data } = await useFetch("/api/currency/GBP");

böyle bir şey. Fakat şuan proje yaptıkca sanki yanlışmış gibi geliyor mesela şöyle
server/api/auth/login.ts

export default defineEventHandler(async (event) => {
  try {
    const config = useRuntimeConfig();
    const body = await readBody(event);
    const user = await $fetch(`${config.public.apiBaseUrl}/auth/login`, {
      method: 'POST',
      body,
      headers: {
        'Content-Type': 'application/json'
      }
    });

    return user;
  } catch (error) {
    throw error;
  }
});

store/authStore.ts

async login(newUser: User) {
      try {
        const data = await $fetch<{ user: User; token: string, expiresIn: number }>('/api/auth/login', {
          method: 'POST',
          body: JSON.stringify(newUser),
          headers: {
            'Content-Type': 'application/json'
          }
        });

        this.user = data.user;
        this.token = data.token;
        if (process.client) {
          localStorage.setItem('user', JSON.stringify(data.user));
          localStorage.setItem('token', data.token);
        }
      } catch (error) {
        throw error.data;
      }
    },

iki yerde de aynı şeyi yapıyorum galiba ve bazı projelere baktığımda server klösoründe sadece prisma ve supabase kullanıyorlar gibi ben çözmedim bunu.

Yardımcı olabilecek biri varsa güzel olur.

Nuxt ayni zamanda backend tarafindada calisabilir. Server klasoru bunun icin vardir. Ayri bir backend kullaniyorsaniz, veya bir api taminlamayacaksaniz, server klasorunu kullanmaniza gerek yoktur.

    aeneas o zaman ben frontend (nuxt.js) ve backendi (nodejs) ayrı ayrı yapmıştım backend folderini serverin içine daşıyabilirim o zaman? Peki taşırsam nasıl yapacağım yani
    index.js

    import express from "express";
    import cors from "cors";
    import connectDatabase from "./config/db.js";
    import bookRoute from './routes/bookRoute.js';
    import authRoute from './routes/authRoute.js';
    import userRoute from './routes/userRoute.js';
    
    const app = express();
    const port = 5000;
    
    const corsPortOptions = {
       origin: 'http://localhost:3000',
       credentials: true
    };
    
    // Middleware configuration
    app.use(cors(corsPortOptions));
    app.use(express.json());
    
    // Routes configuration
    app.use('/api/v1/books', bookRoute);
    app.use('/api/v1/auth', authRoute);
    app.use('/api/v1/user', userRoute);
    
    try {
       //connection to the DB
       await connectDatabase();
       
       app.listen(port, () => {
          console.log(`Server listening on ${port}`);
       });
    } catch (error) {
       process.exit(1);
    }

    config/db.js

    import mongoose from "mongoose";
    import dotenv from "dotenv";
    
    dotenv.config();
    
    const connectDatabase = async () => {
       try {
          await mongoose.connect(process.env.MONGODB_URI);
          console.log("Connected to MongoDB");
       } catch (error) {
          console.log(`Error connecting to MongoDB ${error.message}`);
          throw error;
       }
    };
    
    export default connectDatabase;

    bunu nasıl yapacağım ikisi de aynı portta mı olacak?

    Ayrıca peki neden bazı yerlerde server içinde api tanımlıyorlar benim yaptığım gibi. Bazı yerlerde öyle bazı yerlerde böyle garip.