Giter VIP home page Giter VIP logo

muevete-api's Introduction

Muévete API

API REST para la aplicación web Muévete APP inspirada en la iniciativa solidaria "Muévete por los que no pueden" y que se desarrolla como proyecto TFG.

Requisitos para desarrollo y despliegue local

El entorno de desarrollo local debe contar con el siguiente software instalado.

  • Deno v1.13.2
  • MongoDB +v4.4.0
$ git clone https://github.com/mrf1989/muevete-api.git

Se debe crear un archivo .env en el directorio raíz del proyecto y configurar las variables de entorno requeridas:

  • PORT: puerto que se utilizará en el despliegue local del entorno de desarrollo.
  • MONGODB_URI: URI de conexión a la base de datos MongoDB que se utiliza.

Puede seguirse el ejemplo mostrado en .env.example.

Ejecutar la aplicación

Es necesario tener configuradas las variables de entorno en .env y tener activado el servicio de MongoDB.

La aplicación se ejecuta mediante el siguiente comando, desde el directorio raíz del proyecto:

$ deno run -c ./tsconfig.json --allow-net --allow-env --allow-read --unstable ./src/app.ts

También es posible disponer del proyecto en ejecución y que este se vuelva a ejecutar de forma automática ante cualquier cambio en el código. Esto mejora y agiliza la experiencia de desarrollo.

Esto es posible a través del módulo denon. Para instalarlo en el entorno de desarrollo local, debe ejecutarse el siguiente comando:

$ deno install -qAf --unstable https://deno.land/x/[email protected]/denon.ts

Toda la configuración de denon está en el archivo scripts.config.ts.

Una vez instalado, solo será necesario ejecutar denon start para ejecutar el proyecto y que quede en estado de escucha ante cualquier cambio.

Ejecutar los tests

Los tests del sistema se ejecutan a través desde el siguiente comando, desde el directorio raíz del proyecto:

$ deno test -c ./tsconfig.json --allow-net --allow-env --allow-read --unstable

También es posible ejecutar los tests con denon, a través del comando denon test, lo que hará que los tests se lancen automáticamente ante cualquier cambio.

muevete-api's People

Contributors

mrf1989 avatar

Watchers

 avatar

muevete-api's Issues

Extender perfil de usuario

El perfil de usuario se conforma en el frontend mediante varias llamadas a la API. Además de la información personal del usuario se pueden listar los eventos activos en los que está inscrito (dorsales), así como listar los esfuerzos que realiza diariamente (#42).

Es por ello que puede resultar más interesante construir el documento de respuesta mediante una única llamada al backend al endpoint /api/usuarios/:id

Datasets

Ya se disponen de algunos datasets básicos que se utilizaron para trabajar el desarrollo del frontend.

Se pretende mejorar estos datasets con más datos y más variados con el objetivo de realizar más pruebas de funcionamiento de la interfaz.

Finalmente se exportarán los datasets para la de demo final.

Gestión de newsletters

El sistema deberá permitir la composición de newsletters a partir de los artículos y eventos publicados y poder emitirlas a una lista de correo.

Gestión de dorsales

El sistema deberá permitir la generación de dorsales únicos para los participantes de cada evento deportivo.

Gestionar eventos deportivos

El sistema deberá permitir la gestión de los eventos deportivos solidarios, publicarlos, listaslos, conocer el estado y progreso de los mismos, así como el nivel de participación que alcanzan.

Activación de usuarios

El administrador del sistema puede editar un usuario para activarlo o desactivarlo y que este pueda acceder o no al sistema.

Gestionar artículos

El sistema deberá permitir la publicación de artículos que puedan ser consultados por cualquier usuario y compartirse por otras redes y canales.

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.