Este proyecto se ha realizado con el stack MERN (MongoDB, Express, React, NodeJS) y con el lenguaje kotlin en la app android nativa.
para iniciar de manera local el proyecto se requiere tener instalado Mongodb y NodeJS en su version mas reciente:
la aplicacion android solo fue diseñada para funcionar en moviles con sistema operativo Android 10
lo primero que necesitamos es agregar las dependencia de los proyectos de backend y frontend, esto lo hacemos con el siguiente comando en una terminal dentro de la raiz del repositorio:
cd backend && npm i && cd ../frontend && npm i
despues de instalar las dependencias de debe ejecutar el siguiente comando para iniciar el servidor, considerando que la consola se encuentra en la raiz del repositorio:
cd backend
node ./server/index.js
si todo funciona corractamente vera la respuesta:
server running on port 3001
database online
si esto no funciona por favor asegurese de tener instalado y funcionando MongoDB
para iniciar el cliente web se debe regresar a la raiz del repositorio y ejecutar el siguiente comando:
cd frontend
yarn start
si todo funciona corractamente vera la respuesta:
Compiled successfully!
You can now view frontend in the browser.
Local: http://localhost:3000
On Your Network: http://192.168.0.26:3000
Note that the development build is not optimized.
To create a production build, use yarn build.
Crear un nuevo usuario
localhost:3001/server/users
Metodo POST
Body Request
{
"nombre": "Eric Lopez",
"correo": "[email protected]",
"clave": "12345",
"telefono" : "661888929",
"fechaNacimiento" : "18/11/1998",
"profesion" : "Mecanico",
"descripcionProfesion" : "Reparacion de vehiculos a domicilio y en mis instalaciones, afinaciones, cambio de frenos, revision electrica, escaneo de computadora",
"precioPorHora" : "180",
"avatar": "https://icon-icons.com/icons2/1879/PNG/128/iconfinder-3-avatar-2754579_120516.png"
}
Response
{
"usuario": {
"_id": "5eff51d024244d089faa20e3",
"nombre": "Eric Lopez",
"correo": "[email protected]",
"telefono": "661888929",
"fechaNacimiento": "18/11/1998",
"profesion": "Mecanico",
"descripcionProfesion": "Reparacion de vehiculos a domicilio y en mis instalaciones, afinaciones, cambio de frenos, revision electrica, escaneo de computadora",
"precioPorHora": "180",
"avatar": "https://icon-icons.com/icons2/1879/PNG/128/iconfinder-3-avatar-2754579_120516.png",
"__v": 0
}
}
Obtener lista de usuarios
localhost:3001/server/users
Metodo GET
Response
{
"usuarios": [
{
"_id": "5efe37975467d349b2e0855e",
"nombre": "Juan Jose Mendez",
"correo": "[email protected]",
"telefono": "5512345678",
"fechaNacimiento": "07/01/1980",
"profesion": "Piloto",
"descripcionProfesion": "realizo vuelos de publicidad en avioneta",
"precioPorHora": "250",
"avatar": "https://icon-icons.com/icons2/1879/PNG/128/iconfinder-3-avatar-2754579_120516.png",
"__v": 0
},
{
"_id": "5efe44da5467d349b2e0855f",
"nombre": "Manuel Velazco",
"correo": "[email protected]",
"telefono": "557263636",
"fechaNacimiento": "07/01/1978",
"profesion": "Carpintero",
"descripcionProfesion": "realizo diversos trabajos con madera y reparacion de muebles",
"precioPorHora": "135",
"avatar": "https://icon-icons.com/icons2/1879/PNG/128/iconfinder-3-avatar-2754579_120516.png",
"__v": 0
},
]
}
login de usuario
localhost:3001/server/login
Metodo POST
Body Request
{
"correo": "[email protected]",
"clave": "12345"
}
Response
{
"ok": true,
"usuariobd": {
"_id": "5efe37975467d349b2e0855e",
"nombre": "Juan Jose Mendez",
"correo": "[email protected]",
"telefono": "5512345678",
"fechaNacimiento": "07/01/1980",
"profesion": "Piloto",
"descripcionProfesion": "realizo vuelos de publicidad en avioneta",
"precioPorHora": "250",
"avatar": "https://icon-icons.com/icons2/1879/PNG/128/iconfinder-3-avatar-2754579_120516.png",
"__v": 0
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c3VhcmlvYmQiOnsiX2lkIjoiNWVmZTM3OTc1NDY3ZDM0OWIyZTA4NTVlIiwibm9tYnJlIjoiSnVhbiBKb3NlIE1lbmRleiIsImNvcnJlbyI6ImpAYnIuY29tIiwidGVsZWZvbm8iOiI1NTEyMzQ1Njc4IiwiZmVjaGFOYWNpbWllbnRvIjoiMDcvMDEvMTk4MCIsInByb2Zlc2lvbiI6IlBpbG90byIsImRlc2NyaXBjaW9uUHJvZmVzaW9uIjoicmVhbGl6byB2dWVsb3MgZGUgcHVibGljaWRhZCBlbiBhdmlvbmV0YSIsInByZWNpb1BvckhvcmEiOiIyNTAiLCJhdmF0YXIiOiJodHRwczovL2ljb24taWNvbnMuY29tL2ljb25zMi8xODc5L1BORy8xMjgvaWNvbmZpbmRlci0zLWF2YXRhci0yNzU0NTc5XzEyMDUxNi5wbmciLCJfX3YiOjB9LCJpYXQiOjE1OTM3OTExMDksImV4cCI6MTU5Mzg3NzUwOX0.ubFZmBuR8bTIKAllESKxc21ltSybfmzSLlsrES2PIYI"
}
http://localhost:3000/register
http://localhost:3000/login
http://localhost:3000/ -> la raiz solo se ve cuando inicias sesion, de lo contrario sera redirigido al endpoint de login
Se requiere cambiar la
baseUrldentro del metodogetApiService()del archivoApiManageren el proecto principal.
val baseUrl = "http://<server-ip>:3001/server/"
![]() |
![]() |
![]() |


