/Practice-server

Express TypeScrypt MongoDB

Primary LanguageTypeScript

Practice-server

Bienvenido a Practice-server, un proyecto de servidor desarrollado con Express y TypeScript. Esta aplicación, diseñada para la gestión de usuarios, se conecta a una base de datos MongoDB para ofrecer una solución robusta y escalable.

Contacto

Índice

Volver al Índice

Primeros pasos

Requisitos

Asegúrate de tener instalados los siguientes requisitos antes de ejecutar la aplicación:

  • NPM: Versión >= 10.3.0
  • Node.js: Versión >= 18.19.0
  • MongoDB: Asegúrate de tener MongoDB instalado y en ejecución.

Instalación

  1. Clona este repositorio:
  • git clone https://github.com/MaxiV95/Practice-server
  1. Navega al directorio del proyecto:
  • cd Practice-server
  1. Instala las dependencias:
  • npm install
  1. Crea un archivo .env con los siguientes parámetros:
  • PORT=puerto_por_defecto_3001
    MONGO_URL=uri_mongo_db
    DB_NAME=name_mongo_db
  1. Para iniciar la aplicación:
  • npm run dev

La aplicación estará disponible en http://localhost:3001

Volver al Índice

Usuarios

Opciones de ocupación

  • GET /user/occupation - Obtener opciones de ocupación.
  • Params:
  • Query:
  • header:
  • Body:
  • Request Body example: Status 200
    {
    	['employee', 'unoccupied'];
    }

volver al Índice

Crear Usuario

  • POST /users - Registro de nuevos usuarios.
  • Params:
  • Query:
  • header:
  • Body:
    {
      "email": string - required - Correo electrónico del usuario.
      "nickName": string - required - Nombre de usuario.
      "occupation": string - required - Estado de empleado o desempleado
    }
  • Request Body example: Status 201
    {
      id: "6570bb7db2ad523394706c12",
      email: "maximilianovanmegroot@gmail.com",
      nickName: "MaxiV95",
      occupation: "employee",
    }

volver al Índice

Listado de usuarios

  • GET /users - Obtener el listado de todos los usuarios.
  • Params:
  • Query:
  • header:
  • Body:
  • Request Body example: Status 200
    [
    	{
    		id: '6570bb7db2ad523394706c12',
    		email: 'maximilianovanmegroot@gmail.com',
    		nickName: 'MaxiV95',
    		occupation: 'employee',
    	},
    	// Otros resultados de búsqueda...
    ];

volver al Índice

Obtener usuario especifico

  • GET /users/{:id} - Obtener detalles de un usuario específico.
  • Params:
    "id": string - required - id del usuario.
  • Query:
  • header:
  • Body:
  • Request Body example: Status 200
    {
      id: '6570bb7db2ad523394706c12',
      email: 'maximilianovanmegroot@gmail.com',
      nickName: 'MaxiV95',
      occupation: 'employee',
    }

volver al Índice

Actualizar usuario especifico

  • PUT /users/{:id} - Actualizar un usuario específico.
  • Params:
    "id": string - required - id del usuario.
  • Query:
  • header:
  • Body:
    {
      "email": string - optional - Correo electrónico del usuario.
      "nickName": string - optional - Nombre de usuario.
      "occupation": string - optional - Estado de empleado o desempleado
    }
  • Request Body example: Status 200
    {
      id: '6570bb7db2ad523394706c12',
      email: 'maximilianovanmegroot@gmail.com',
      nickName: 'MaxiV95',
      occupation: 'employee',
    }

volver al Índice

Eliminar usuario especifico

  • DELETE /users/{:id} - Eliminar un usuario especifico.
  • Params:
    "id": string - required - id del usuario.
  • Query:
  • header:
  • Body:
  • Request Body example: Status 200
    {
      acknowledged: true,
      deletedCount: 1
    }

Volver al Índice