/my_weather_backend

Weather data and users managing API with Nodejs and sequelize

Primary LanguageJavaScript

API DE LOCALIZACIONES, DATOS METEREOLÓGICOS Y GESTION DE USUARIOS

Un API que provee una herramienta de gestion de localizaciones, datos y previsiones meterológicas de las mismas haciendo uso del API gratuito ofrecido por AccuWeather, y que permite gestionar cuentas de usuario con OAUTH 1.0. con el objetivo de servir de Backend para una aplicación web de datos climatologicos de manera personalizada. UNDER CONSTRUCTION.

Comenzando 🚀

Clona el repositorio git clone https://github.com/rubensantibanezacosta/my_weather_backend

Pre-requisitos 📋

Instalación 🔧

  • Importa el archivo myWeather.sql a tu servidor MySQL. Ruta backend/Estudiantes.sql

  • Crea un archivo .env en la raíz del proyecto, utilizando como plantilla el archivo env.example ubicado en la raiz del proyecto también.

  • En la raiz del proyecto, abre una terminal y ejecuta los scripts:

    Para instalar paquetes
    • npm install
    Para obtener API KEYS
    • npm run apiKeys para generar dos nuevos tokens en la base de datos, uno con scopes de administrador, y otro con scopes de usuario.
    • Mas tarde necesitaras copiarlos y pegarlos para las peticiones en POSTMAN.
    Para levantar el servidor
    • Dos opciones:
      • npm run dev para levantar el servidor en modo desarrollo, con hot reloading.
      • npm run start para levantar el sevidor en modo producción

Uso 📦

RUTAS a la API:

​REGISTRAR NUEVO USUARIO

​POST

http://localhost:4000/api/auth/sign-up/ (json)

body{

password: 1551,

name: Ruben,

username: test@test,

isAdmin:false

}

​INICIAR SESIÓN

​POST

http://localhost:4000/api/auth/sign-in

Authorization: basic

username: ruben@ruben,

password: 1234,

(json)

body{

apiKeyToken:{{Api key Token}},

rememberMe:true

},

}

response:

{

token:{{sign-in-token}}

user: {

username: ruben@ruben,

name: Ruben

}

}

​ACTUALIZAR DATOS DE USUARIO

​PUT

http://localhost:4000/api/user/ruben@ruben

Authorization: Bearer token {{sing-in token}}

(json)

body{

password: 1234,

name: Ruben,

username: ruben@ruben;

isAdmin:true

},

​OBTENER TODOS LOS USUARIOS

​GET

Authorization: Bearer token {{sing-in token}}

http://localhost:4000/api/user/

​OBTENER USUARIO POR NOMBRE DE USUARIO

​GET

Authorization: Bearer token {{sing-in token}}

http://localhost:4000/api/user/ruben@ruben

​CREAR USUARIO

​POST

http://localhost:4000/api/user/

Authorization: Bearer token {{sing-in token}}

(Json)

body{

password: 1551,

name: Ruben,

username: test@test,

isAdmin:true

}

​ELIMINAR USUARIO POR NOMBRE DE USUARIO

​DELETE

http://localhost:4000/api/user/test@test

Authorization : Bearer token {{sing-in token}}

Construido con 🛠️

Autores ✒️

Agradecimientos 👋

  • Tiburcio Cruz Ravelo - Docente del Instituto IES El Rincón - tcurav

⌨️ con ❤️ por rubensantibanezacosta 😊