La API de notas con su front end. La autenticación y la autorización ya están implementadas: este proyecto es el punto de partida del capítulo sobre seguridad del back end y despliegue.
- Node.js 20 o superior
- MongoDB corriendo en tu máquina
-
Haz un fork de este repositorio y clónalo.
-
Instala las dependencias de las dos partes con un solo comando, desde la raíz:
npm run install:all
-
Copia el archivo de ejemplo con las variables de entorno del servidor:
cp server/.env.example server/.env
-
Abre
server/.envy reemplazaJWT_SECRETpor un valor propio. Genéralo así y pega el resultado en el archivo:node -e "console.log(require('crypto').randomBytes(32).toString('hex'));" -
Arranca el back end en una terminal:
npm run dev:server
Tienes que ver estas dos líneas:
Conectado a MongoDB Servidor ejecutándose en el puerto 3000 -
Arranca el front end en otra terminal:
npm run dev:client
Se abre en
http://localhost:5173. Si Vite toma otro puerto, ajustaCLIENT_ORIGINenserver/.envpara que coincida; si no, el navegador va a bloquear las peticiones.
Cada lección trae su propia prueba. Ejecútalas desde la raíz, con el servidor en ejecución y desde una terminal libre:
npm run test:02
npm run test:03
npm run test:04La prueba de la lección 5 corre contra tu aplicación ya desplegada, así que recibe la dirección de tu API como argumento:
npm run test:05 -- https://tu-api.vercel.appclient/ front end de React con Vite
server/ API de Express con TypeScript y Mongoose
tests/ pruebas de verificación de cada lección
| Método | Ruta | Requiere token | Descripción |
|---|---|---|---|
POST |
/auth/register |
No | Crea una cuenta |
POST |
/auth/login |
No | Inicia sesión y devuelve un token |
GET |
/auth/me |
Sí | Devuelve los datos de la cuenta actual |
GET |
/notes |
Sí | Lista tus notas, de la más reciente a la más antigua |
POST |
/notes |
Sí | Crea una nota a tu nombre |
DELETE |
/notes/:id |
Sí | Borra una nota tuya; una ajena responde 403 |
Todas las respuestas tienen la misma forma:
{ "success": true, "data": {}, "error": null }