https://www.youtube.com/embed/sKKFQCkg5uI?si=ANF4fYQXWYH1kAT6

1. Configuração do Ambiente

  1. Instale o Node.js e npm: Certifique-se de ter o Node.js e o npm instalados no seu sistema. Você pode baixá-los aqui.
  2. Crie um novo projeto: Abra o terminal e crie uma nova pasta para o seu projeto.
mkdir meu-projeto-mvc
cd meu-projeto-mvc
npm init -y

  1. Instale as dependências necessárias:
npm install express typescript ts-node @types/node @types/express

  1. Configure o TypeScript: Crie um arquivo tsconfig.json na raiz do projeto com o seguinte conteúdo:
{
    "compilerOptions": {
    "target": "ES6",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "outDir": "./dist"
    },
    "include": ["src/**/*"],
    "exclude": ["node_modules"]
}

2. Estrutura do Projeto

Crie a seguinte estrutura de pastas e arquivos no seu projeto:

meu-projeto-mvc/
├── src/
│   ├── controllers/
│   │   └── userController.ts
│   ├── models/
│   │   └── userModel.ts
│   ├── routes/
│   │   └── userRoutes.ts
│   ├── views/
│   │   └── userView.ts
│   ├── app.ts
├── tsconfig.json
├── package.json

3. Implementação

src/app.ts

Este é o ponto de entrada do seu aplicativo.

import express from 'express';
import userRoutes from './routes/userRoutes';

const app = express();
const port = 3000;

app.use(express.json());
app.use('/users', userRoutes);

app.listen(port, () => {
  console.log(`Server is running on <http://localhost>:${port}`);
});

src/models/userModel.ts

Aqui você define a estrutura dos dados.

export interface User {
  id: number;
  name: string;
  email: string;
}

export const users: User[] = [];

src/controllers/userController.ts