Aplicación web full-stack para gestionar notas personales. Permite a los usuarios registrarse, autenticarse y crear, editar y eliminar notas. Desarrollada con tecnologías modernas de JavaScript (React, Node.js y Express).
Antes de iniciar, asegúrate de tener instalado:
- Node.js (v14 o superior)
- npm (gestor de paquetes)
- MongoDB (la aplicación utiliza MongoDB como base de datos)
# Navega a la carpeta backend
cd ./backend
# Instala las dependencias
npm install
# Configura las variables de entorno
# Crea un archivo .env en la carpeta backend con tus configuraciones
# (consulta la sección de Configuración)# Navega a la carpeta frontend
cd ./frontend
# Instala las dependencias
npm installCrea un archivo .env en la carpeta backend con las siguientes variables:
MONGO_URI=tu_uri_de_mongodb
JWT_SECRET=tu_clave_secreta_jwt
PORT=5000
Para ejecutar la aplicación, necesitas abrir dos terminales (una para el backend y otra para el frontend):
cd ./backend
npm run devEl servidor estará disponible en http://localhost:3000
cd ./frontend
npm run devLa aplicación estará disponible en http://localhost:5173
entorno-react/
├── backend/ # Servidor API REST
│ ├── src/
│ │ ├── config/ # Configuración de base de datos
│ │ ├── controllers/ # Lógica de negocio
│ │ ├── helpers/ # Funciones auxiliares (JWT, bcrypt)
│ │ ├── middlewares/ # Middlewares de autenticación
│ │ ├── models/ # Modelos de datos (Mongoose)
│ │ └── routes/ # Definición de rutas
│ ├── app.js # Configuración principal
│ └── package.json
│
└── frontend/ # Aplicación React
├── src/
│ ├── components/ # Componentes reutilizables
│ ├── pages/ # Páginas de la aplicación
│ ├── routes/ # Configuración de rutas
│ ├── hooks/ # Hooks personalizados
│ ├── assets/ # Recursos estáticos
│ ├── App.jsx
│ └── main.jsx
├── index.html
├── vite.config.js
└── package.json
- Node.js - Runtime de JavaScript
- Express - Framework web
- MongoDB - Base de datos NoSQL
- Mongoose - ODM para MongoDB
- bcryptjs - Encriptación de contraseñas
- JWT - Autenticación por tokens
- React - Biblioteca UI
- Vite - Herramienta de construcción
- React Router - Enrutamiento
✅ Autenticación y autorización de usuarios
✅ CRUD completo de notas
✅ Restricción de acceso por propietario
✅ Contraseñas encriptadas
✅ Tokens JWT para sesiones seguras
- Error de conexión a MongoDB: Verifica que el servidor MongoDB esté corriendo y que la URI en
.envsea correcta - Puerto en uso: Si el puerto 5000 o 5173 está en uso, modifica la configuración en el archivo
.envovite.config.js - Dependencias no instaladas: Ejecuta
npm installen ambas carpetas
Este proyecto se proporciona tal cual, sin licencia específica.