Menu iconMenu icon
JavaScript de Cero a Superhéroe

Proyecto 3: Aplicación de Toma de Notas de Pila Completa

2. Configuración e Instalación

La configuración e instalación adecuadas son fundamentales para un proceso de desarrollo fluido para nuestra aplicación de toma de notas full-stack. Esta sección te guiará a través de la configuración del entorno de desarrollo, la estructuración del proyecto y la instalación de las dependencias necesarias.

2.1 Configuración del Entorno

  1. Instalación de Node.js:
    • Asegúrate de que Node.js esté instalado en tu máquina. Puedes descargarlo desde el sitio web oficial de Node.js.
    • Verifica la instalación ejecutando node -v en tu línea de comandos para verificar la versión.
  2. Instalación de MongoDB:
    • Instala MongoDB localmente para fines de desarrollo desde el sitio web de MongoDB, o configura un clúster gratuito de MongoDB Atlas para desarrollo basado en la nube.
  3. Editor de Texto:
    • Elige un editor de texto o un Entorno de Desarrollo Integrado (IDE) como Visual Studio Code (VSCode), que soporte el desarrollo de JavaScript y extensiones para Node.js, React y Git.

2.2 Estructura del Directorio del Proyecto

Crear una estructura de directorio bien organizada es crucial para gestionar eficientemente las complejidades de una aplicación full-stack. Aquí tienes una estructura sugerida:

note-taking-app/

├── client/              # Frontend React application
│   ├── public/
│   ├── src/
│   ├── package.json
│   └── webpack.config.js

├── server/              # Backend Node.js application
│   ├── config/
│   ├── models/
│   ├── routes/
│   ├── controllers/
│   ├── server.js
│   └── package.json

└── README.md            # Project documentation

2.3 Inicialización del Proyecto

  1. Crear las Carpetas del Proyecto:
mkdir note-taking-app
cd note-taking-app
mkdir client server
  1. Inicializar Node.js en Cada Subdirectorio:
  • Navega a cada carpeta (client y server) y ejecuta:
    npm init -y
  • Este comando crea un archivo package.json para gestionar los metadatos del proyecto y las dependencias.

2.4 Instalación de Dependencias

  1. Dependencias del Servidor:
    • Dentro del directorio server:
npm install express mongoose cors dotenv
  • express: Marco de trabajo para construir el servidor.
  • mongoose: ODM para interactuar con MongoDB.
  • cors: Middleware para habilitar CORS (Compartición de Recursos de Origen Cruzado).
  • dotenv: Módulo para cargar variables de entorno desde un archivo .env.
  1. Dependencias del Cliente:
    • Dentro del directorio client:
      npm install react react-dom react-router-dom axios
    • react y react-dom: Bibliotecas para construir la interfaz de usuario.
    • react-router-dom: Para el enrutamiento en la aplicación React.
    • axios: Para realizar solicitudes HTTP al servidor.
  2. Herramientas de Desarrollo:
    • Instala Webpack, Babel y otras herramientas de desarrollo en el directorio client:
      npm install --save-dev webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react html-webpack-plugin css-loader style-loader

2.5 Configuración de Webpack y Babel

Crea un archivo webpack.config.js en la carpeta client con la siguiente configuración:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\\.jsx?$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env', '@babel/preset-react']
          }
        }
      },
      {
        test: /\\.css$/,
        use: ['style-loader', 'css-loader']
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './public/index.html'
    })
  ],
  devServer: {
    historyApiFallback: true,
  }
};

Esta configuración garantiza que tu front-end y back-end estén bien preparados para el desarrollo, con todas las herramientas y dependencias necesarias instaladas.

2. Configuración e Instalación

La configuración e instalación adecuadas son fundamentales para un proceso de desarrollo fluido para nuestra aplicación de toma de notas full-stack. Esta sección te guiará a través de la configuración del entorno de desarrollo, la estructuración del proyecto y la instalación de las dependencias necesarias.

2.1 Configuración del Entorno

  1. Instalación de Node.js:
    • Asegúrate de que Node.js esté instalado en tu máquina. Puedes descargarlo desde el sitio web oficial de Node.js.
    • Verifica la instalación ejecutando node -v en tu línea de comandos para verificar la versión.
  2. Instalación de MongoDB:
    • Instala MongoDB localmente para fines de desarrollo desde el sitio web de MongoDB, o configura un clúster gratuito de MongoDB Atlas para desarrollo basado en la nube.
  3. Editor de Texto:
    • Elige un editor de texto o un Entorno de Desarrollo Integrado (IDE) como Visual Studio Code (VSCode), que soporte el desarrollo de JavaScript y extensiones para Node.js, React y Git.

2.2 Estructura del Directorio del Proyecto

Crear una estructura de directorio bien organizada es crucial para gestionar eficientemente las complejidades de una aplicación full-stack. Aquí tienes una estructura sugerida:

note-taking-app/

├── client/              # Frontend React application
│   ├── public/
│   ├── src/
│   ├── package.json
│   └── webpack.config.js

├── server/              # Backend Node.js application
│   ├── config/
│   ├── models/
│   ├── routes/
│   ├── controllers/
│   ├── server.js
│   └── package.json

└── README.md            # Project documentation

2.3 Inicialización del Proyecto

  1. Crear las Carpetas del Proyecto:
mkdir note-taking-app
cd note-taking-app
mkdir client server
  1. Inicializar Node.js en Cada Subdirectorio:
  • Navega a cada carpeta (client y server) y ejecuta:
    npm init -y
  • Este comando crea un archivo package.json para gestionar los metadatos del proyecto y las dependencias.

2.4 Instalación de Dependencias

  1. Dependencias del Servidor:
    • Dentro del directorio server:
npm install express mongoose cors dotenv
  • express: Marco de trabajo para construir el servidor.
  • mongoose: ODM para interactuar con MongoDB.
  • cors: Middleware para habilitar CORS (Compartición de Recursos de Origen Cruzado).
  • dotenv: Módulo para cargar variables de entorno desde un archivo .env.
  1. Dependencias del Cliente:
    • Dentro del directorio client:
      npm install react react-dom react-router-dom axios
    • react y react-dom: Bibliotecas para construir la interfaz de usuario.
    • react-router-dom: Para el enrutamiento en la aplicación React.
    • axios: Para realizar solicitudes HTTP al servidor.
  2. Herramientas de Desarrollo:
    • Instala Webpack, Babel y otras herramientas de desarrollo en el directorio client:
      npm install --save-dev webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react html-webpack-plugin css-loader style-loader

2.5 Configuración de Webpack y Babel

Crea un archivo webpack.config.js en la carpeta client con la siguiente configuración:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\\.jsx?$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env', '@babel/preset-react']
          }
        }
      },
      {
        test: /\\.css$/,
        use: ['style-loader', 'css-loader']
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './public/index.html'
    })
  ],
  devServer: {
    historyApiFallback: true,
  }
};

Esta configuración garantiza que tu front-end y back-end estén bien preparados para el desarrollo, con todas las herramientas y dependencias necesarias instaladas.

2. Configuración e Instalación

La configuración e instalación adecuadas son fundamentales para un proceso de desarrollo fluido para nuestra aplicación de toma de notas full-stack. Esta sección te guiará a través de la configuración del entorno de desarrollo, la estructuración del proyecto y la instalación de las dependencias necesarias.

2.1 Configuración del Entorno

  1. Instalación de Node.js:
    • Asegúrate de que Node.js esté instalado en tu máquina. Puedes descargarlo desde el sitio web oficial de Node.js.
    • Verifica la instalación ejecutando node -v en tu línea de comandos para verificar la versión.
  2. Instalación de MongoDB:
    • Instala MongoDB localmente para fines de desarrollo desde el sitio web de MongoDB, o configura un clúster gratuito de MongoDB Atlas para desarrollo basado en la nube.
  3. Editor de Texto:
    • Elige un editor de texto o un Entorno de Desarrollo Integrado (IDE) como Visual Studio Code (VSCode), que soporte el desarrollo de JavaScript y extensiones para Node.js, React y Git.

2.2 Estructura del Directorio del Proyecto

Crear una estructura de directorio bien organizada es crucial para gestionar eficientemente las complejidades de una aplicación full-stack. Aquí tienes una estructura sugerida:

note-taking-app/

├── client/              # Frontend React application
│   ├── public/
│   ├── src/
│   ├── package.json
│   └── webpack.config.js

├── server/              # Backend Node.js application
│   ├── config/
│   ├── models/
│   ├── routes/
│   ├── controllers/
│   ├── server.js
│   └── package.json

└── README.md            # Project documentation

2.3 Inicialización del Proyecto

  1. Crear las Carpetas del Proyecto:
mkdir note-taking-app
cd note-taking-app
mkdir client server
  1. Inicializar Node.js en Cada Subdirectorio:
  • Navega a cada carpeta (client y server) y ejecuta:
    npm init -y
  • Este comando crea un archivo package.json para gestionar los metadatos del proyecto y las dependencias.

2.4 Instalación de Dependencias

  1. Dependencias del Servidor:
    • Dentro del directorio server:
npm install express mongoose cors dotenv
  • express: Marco de trabajo para construir el servidor.
  • mongoose: ODM para interactuar con MongoDB.
  • cors: Middleware para habilitar CORS (Compartición de Recursos de Origen Cruzado).
  • dotenv: Módulo para cargar variables de entorno desde un archivo .env.
  1. Dependencias del Cliente:
    • Dentro del directorio client:
      npm install react react-dom react-router-dom axios
    • react y react-dom: Bibliotecas para construir la interfaz de usuario.
    • react-router-dom: Para el enrutamiento en la aplicación React.
    • axios: Para realizar solicitudes HTTP al servidor.
  2. Herramientas de Desarrollo:
    • Instala Webpack, Babel y otras herramientas de desarrollo en el directorio client:
      npm install --save-dev webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react html-webpack-plugin css-loader style-loader

2.5 Configuración de Webpack y Babel

Crea un archivo webpack.config.js en la carpeta client con la siguiente configuración:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\\.jsx?$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env', '@babel/preset-react']
          }
        }
      },
      {
        test: /\\.css$/,
        use: ['style-loader', 'css-loader']
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './public/index.html'
    })
  ],
  devServer: {
    historyApiFallback: true,
  }
};

Esta configuración garantiza que tu front-end y back-end estén bien preparados para el desarrollo, con todas las herramientas y dependencias necesarias instaladas.

2. Configuración e Instalación

La configuración e instalación adecuadas son fundamentales para un proceso de desarrollo fluido para nuestra aplicación de toma de notas full-stack. Esta sección te guiará a través de la configuración del entorno de desarrollo, la estructuración del proyecto y la instalación de las dependencias necesarias.

2.1 Configuración del Entorno

  1. Instalación de Node.js:
    • Asegúrate de que Node.js esté instalado en tu máquina. Puedes descargarlo desde el sitio web oficial de Node.js.
    • Verifica la instalación ejecutando node -v en tu línea de comandos para verificar la versión.
  2. Instalación de MongoDB:
    • Instala MongoDB localmente para fines de desarrollo desde el sitio web de MongoDB, o configura un clúster gratuito de MongoDB Atlas para desarrollo basado en la nube.
  3. Editor de Texto:
    • Elige un editor de texto o un Entorno de Desarrollo Integrado (IDE) como Visual Studio Code (VSCode), que soporte el desarrollo de JavaScript y extensiones para Node.js, React y Git.

2.2 Estructura del Directorio del Proyecto

Crear una estructura de directorio bien organizada es crucial para gestionar eficientemente las complejidades de una aplicación full-stack. Aquí tienes una estructura sugerida:

note-taking-app/

├── client/              # Frontend React application
│   ├── public/
│   ├── src/
│   ├── package.json
│   └── webpack.config.js

├── server/              # Backend Node.js application
│   ├── config/
│   ├── models/
│   ├── routes/
│   ├── controllers/
│   ├── server.js
│   └── package.json

└── README.md            # Project documentation

2.3 Inicialización del Proyecto

  1. Crear las Carpetas del Proyecto:
mkdir note-taking-app
cd note-taking-app
mkdir client server
  1. Inicializar Node.js en Cada Subdirectorio:
  • Navega a cada carpeta (client y server) y ejecuta:
    npm init -y
  • Este comando crea un archivo package.json para gestionar los metadatos del proyecto y las dependencias.

2.4 Instalación de Dependencias

  1. Dependencias del Servidor:
    • Dentro del directorio server:
npm install express mongoose cors dotenv
  • express: Marco de trabajo para construir el servidor.
  • mongoose: ODM para interactuar con MongoDB.
  • cors: Middleware para habilitar CORS (Compartición de Recursos de Origen Cruzado).
  • dotenv: Módulo para cargar variables de entorno desde un archivo .env.
  1. Dependencias del Cliente:
    • Dentro del directorio client:
      npm install react react-dom react-router-dom axios
    • react y react-dom: Bibliotecas para construir la interfaz de usuario.
    • react-router-dom: Para el enrutamiento en la aplicación React.
    • axios: Para realizar solicitudes HTTP al servidor.
  2. Herramientas de Desarrollo:
    • Instala Webpack, Babel y otras herramientas de desarrollo en el directorio client:
      npm install --save-dev webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react html-webpack-plugin css-loader style-loader

2.5 Configuración de Webpack y Babel

Crea un archivo webpack.config.js en la carpeta client con la siguiente configuración:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\\.jsx?$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env', '@babel/preset-react']
          }
        }
      },
      {
        test: /\\.css$/,
        use: ['style-loader', 'css-loader']
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './public/index.html'
    })
  ],
  devServer: {
    historyApiFallback: true,
  }
};

Esta configuración garantiza que tu front-end y back-end estén bien preparados para el desarrollo, con todas las herramientas y dependencias necesarias instaladas.