Este proyecto consiste en una API RESTful que permite gestionar motocicletas y usuarios. Los usuarios pueden registrarse, iniciar sesión, y asignar motocicletas a su perfil. Además, se pueden gestionar categorías de motocicletas.
- Nombre: Miguel Jimenez
- Año: 2024
- Node.js: Para el backend.
- Express: Framework para construir aplicaciones web.
- MongoDB: Base de datos NoSQL para almacenar datos.
- JWT: Para la autenticación de usuarios.
- Bcrypt: Para el hash de contraseñas.
- dotenv: Para manejar variables de entorno.
-
Registrar un Usuario
- Método: POST
- Ruta:
/api/users/register
- Cuerpo de la Solicitud:
{ "email": "usuario@example.com", "password": "tuContraseña", "nombre": "Nombre del Usuario" }
-
Iniciar Sesión
- Método: POST
- Ruta:
/api/users/login
- Cuerpo de la Solicitud:
{ "email": "usuario@example.com", "password": "tuContraseña" }
-
Eliminar un Usuario
- Método: DELETE
- Ruta:
/api/users/:userId
- Headers: Incluye el token JWT en el encabezado
Authorization
. - Ejemplo:
/api/users/1234567890abcdef
-
Asignar una Motocicleta a un Usuario
- Método: POST
- Ruta:
/api/users/:userId/motos
- Cuerpo de la Solicitud:
{ "motoId": "1234567890abcdef" }
-
Obtener Todos los Usuarios
- Método: GET
- Ruta:
/api/users
- Headers: Incluye el token JWT en el encabezado
Authorization
.
-
Obtener Todas las Motos
- Método: GET
- Ruta:
/api/motos
-
Obtener una Moto por ID
- Método: GET
- Ruta:
/api/motos/:id
- Ejemplo:
/api/motos/1234567890abcdef
-
Crear una Nueva Moto
- Método: POST
- Ruta:
/api/motos
- Cuerpo de la Solicitud:
{ "marca": "Marca de la Moto", "modelo": "Modelo de la Moto", "cilindrada": "150", "año": "2020", "color": "Rojo", "estado": "nueva", "categoria": "605c72ef3e7b6e001f64f2a1" // ID de categoría }
-
Actualizar una Moto
- Método: PUT
- Ruta:
/api/motos/:id
- Cuerpo de la Solicitud:
{ "marca": "Nueva Marca", "modelo": "Nuevo Modelo" }
-
Eliminar una Moto
- Método: DELETE
- Ruta:
/api/motos/:id
-
Obtener Motos por Categoría
- Método: GET
- Ruta:
/api/motos/categoria/:categoriaId
- Ejemplo:
/api/motos/categoria/605c72ef3e7b6e001f64f2a1
-
Obtener Todas las Categorías
- Método: GET
- Ruta:
/api/categorias
-
Crear una Nueva Categoría
- Método: POST
- Ruta:
/api/categorias
- Cuerpo de la Solicitud:
{ "nombre": "Categoría de Ejemplo" }
-
Actualizar una Categoría
- Método: PUT
- Ruta:
/api/categorias/:id
- Cuerpo de la Solicitud:
{ "nombre": "Nueva Categoría" }
-
Eliminar una Categoría
- Método: DELETE
- Ruta:
/api/categorias/:id
Para instalar y ejecutar este proyecto en tu máquina local, sigue los siguientes pasos:
Asegúrate de tener instalado lo siguiente:
- Node.js (versión 14 o superior)
- MongoDB (asegúrate de que el servidor esté en ejecución)
- Un gestor de paquetes como npm (incluido con Node.js)
-
Clona el repositorio:
git clone https://github.com/MiguelSJimenezV/BikesAPIProject.git
-
Instala las Dependencias:
npm i
-
Inicia el Servidor:
npm start