Giter Club home page Giter Club logo

api-usuarios's Introduction

Api sistema

Api desarrollada con nodejs, typescript y desplegada en vercel para manejar un sistema de encuestas. Todo la información se almacena en una base de datos no relacional en dynamodb.

Requisitos para ejecutar el proyecto

  1. instalar nodejs 18 https://nodejs.org/es/
  2. instalar yarn https://yarnpkg.com/getting-started/install

Configuración

Base de Datos

  1. Crear una cuenta en aws https://aws.amazon.com/es/
  2. Crear una tabla en dynamodb con el nombre que desees
  3. Crear un usuario en aws con permisos de escritura y lectura en dynamodb
  4. Crear un archivo .env en la raíz del proyecto con las credenciales de aws y el nombre de la tabla creada en dynamodb

Ejemplo de archivo .env

AWS_REGION=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
DYNAMODB_TABLE_NAME=
PORT=

Deploy de API en vercel

  1. Crear una cuenta en vercel https://vercel.com/
  2. Crear un proyecto en vercel con el repositorio de github
  3. Configurar las variables de entorno en vercel con las credenciales de aws y el nombre de la tabla creada en dynamodb
  4. Configurar el archivo de vercel.json

Instalación

Realizar un clone del repositorio

git clone https://github.com/Servicio-Social-Sistemas/API-Usuarios.git

instalar las dependencias

yarn install

Para ejecutar el proyecto usa

yarn run dev

Esquema de datos

{
  "responses": [
    {"answer1": "rojo"},
    {"answer2": "rojo"},
    {"answer3": "azul"},
    {"answer4": "verde"},
    {"answer5": "verde"},
    {"answer6": "rojo"},
    {"answer7": "azul"}
  ],
  "ubication" :{
    "lat": "-08982",
    "long": "-12332"
  }
}

Endpoints

POST /api/v1/save

{
  "responses": [
    {"answer1": "rojo"},
    {"answer2": "rojo"},
    {"answer3": "azul"},
    {"answer4": "verde"},
    {"answer5": "verde"},
    {"answer6": "rojo"},
    {"answer7": "azul"}
  ],
  "ubication" :{
    "lat": "-08982",
    "long": "-12332"
  }
}

GET /api/v1/all

[
  {
    "createdAt": "2023-08-06T03:19:05.388Z",
    "ubication": {
      "lat": "12.435435",
      "long": "44.56567"
    },
    "id": "c336bcb4-3248-44f9-ba51-0bac52168088",
    "responses": [
      {
        "answer1": "rojo"
      },
      {
        "answer2": "rojo"
      },
      {
        "answer3": "azul"
      },
      {
        "answer4": "verde"
      },
      {
        "answer5": "verde"
      },
      {
        "answer6": "rojo"
      },
      {
        "answer7": "azul"
      }
    ]
  },
  {
    "createdAt": "2023-08-06T03:19:23.732Z",
    "ubication": {
      "lat": "12.435435",
      "long": "44.56567"
    },
    "id": "c036239e-fb76-41b9-a377-5b933ca2ab90",
    "responses": [
      {
        "answer1": "verde"
      },
      {
        "answer2": "rojo"
      },
      {
        "answer3": "azul"
      },
      {
        "answer4": "azul"
      },
      {
        "answer5": "verde"
      },
      {
        "answer6": "rojo"
      },
      {
        "answer7": "azul"
      }
    ]
  }
]

DELETE /api/v1/delete/:id

{
  "id": "c336bcb4-3248-44f9-ba51-0bac52168088"
}

api-usuarios's People

Contributors

josafatjimenezb avatar texhnolyze47 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.