Pern Stack ile UG – 3 – Indexjs ve Router yapısı

Selamlar, bugün yepyeni bir bilgi paylaşımı ile sizlerleyim. Projemizi oluşturduk artık içini yavaş yavaş doldurmaya geldi.

Evet ilk olarak routes ve controllers altına user.js adlı iki dosya oluşturalım.

proje dosya yapısı

Daha sonra hemen ana dizindeki index.js dosyamızı açıyoruz ve içini dolduruyoruz. Projeme eklediğim paketlerden daha önceden bahsetmiştim.

require('dotenv').config();

const express = require('express');
const app = express();

// MIDDLEWARE
app.use(express.json());
app.use(express.urlencoded({ extended: false }));

// COOKIE
const cookieParser = require('cookie-parser');
app.use(cookieParser());

// ADD LOG
const morgan = require('morgan');
app.use(morgan('dev'));

// ADD CORS
const cors = require('cors');
app.use(cors());

//ALL USE ROUTER
app.use('/api', require('./routes/user'));

// Hata mesajlarını burada yakalıyorum.
const createError = require('http-errors');
app.use(function (req, res, next) {
  next(createError(404));
});

// ENV
const port = process.env.PORT || 5001;
app.listen(port, () => {
  console.log('server is up and listening');
});

module.export = app;

Index.js dosyamızı da bitirdik hemen routers/ altındaki user.js dosyamızı açalım ve içine kodlarımızı yazalım.

const express = require('express');
const router = express.Router();

const { getUsers, createUser, getUserById, updateUser } = require('../controller/user');

router.get('/user', getUsers);

router.get('/user/:id', getUserById);

router.post('/user', createUser);

router.put('/user/:id', updateUser);

module.exports = router;

Arkasından hemen controllers/ klasörü altındaki user.js dosyamızı açıyoruz ve kodlarımızı yazıyoruz.

const getUsers = async (req, res) => {};

const getUserById = async (req, res) => {};

const createUser = async (req, res) => {};

const updateUser = async (req, res) => {};

module.exports = {
  getUsers,
  createUser,
  getUserById,
  updateUser,
  getUsersByCompanyId,
};

Evet ufak ufak projemizi katmanlı hale getiriyor ve güzel sonuçlar için geliştirmeye devam ediyoruz. Bu dosya yapısını bir kaç yerden gördüm ve çok beğendim. Hemen hemen son 3 4 projemde de hep bu yapı ve isimlendirmelerle devam ettim. Yukarıda paylaştığım kodları aşağıyada görsellerini paylaşıyorum. Biraz daha güzel olabilir. Şimdilik bu kadar bir sonra ki paylaşımda görüşmek üzere 🙂

index.js
routes/user.js

Turan Yunus

- 1994 İZMİT Doğumluyum. 6 aylıkken yürüdüğümü ve 5 yaşındayken okuma ve yazmayı söktüğümü ailem ve akrabalarım yanımda, beni onaylamasa asla kimseye inandıramayan birisiyim.