pedroobando / apisocialserver

un sencillo ejemplo de un apirest elaborado con el framework nestjs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nest Logo

SOCIAL SERVER

Una sencilla apirestfull construida desde cero (0) en NESTJS

SOCIAL SERVER forma parte de un MERN

Es recomendable tener el cliente o CL de nestjs instalado de forma global, para eso utilizaremos el comando

$ npm i -g @nestjs/cli

Una ves con esto ya podemos comenzar a generar nuestro proyecto o contruccion de la apirest en nestjs

Para generar nuestro proyecto lo hacemos con la siguiente instruccion

$ nest new project-name

NestJs, es un framework que viene todo sesaclopado o para armar como un juego de legos

Servidor Static una pagina html o proyecto react o vue.js

lo hacemos de la siguiente forma

$ yarn add @nestjs/serve-static

luego agregamos a la seccion bootstrap, especificamente en el imports:

imports: [
    ServeStaticModule.forRoot({
      rootPath: join(__dirname, '..', 'client'),
    }),
  ]

Agregar un prefijo a nuestra apirest, dentro del archivo main.ts

  app.setGlobalPrefix('api/v1');

Configuracion de las variables globales .env

archivo app.modules.ts

yarn add @nestjs/config

creamos una carpeta desntro src llamada config y dentro creamos un carchillo llamado env.config.ts src/config/env.config.ts dentro de env.config.ts colocamos lo siguiente

export const EnvConfiguration = () => ({
  enviroment: process.env.NODE_ENV,
  defaultLimit: +process.env.DEFAULT_LIMIT || 5,
});

Crear imagen de docker para base datos docker-compose.yml

version: '3'

services:
  db:
    image: mongo:5.0-focal
    container_name: socialmdb
    # restart: always
    ports:
      - 27022:27017
    environment:
      MONGODB_DATABASE: nest-social
    volumes:
      - ./mongo:/data/db

Ejecutar imagen con el siguiente comando

docker compose up -d

Conecion con la base de datos mongodb

About

un sencillo ejemplo de un apirest elaborado con el framework nestjs


Languages

Language:TypeScript 94.3%Language:JavaScript 2.8%Language:HTML 1.5%Language:Shell 0.9%Language:CSS 0.5%