Giter Club home page Giter Club logo

infinitescroll's Introduction

#InfiniteProducts

InfiniteProducts es un web app que muestra una lista infinita de 96 productos.

#FrontEnd

Utilicé Angular como framework para el frontEnd. Utilizando un servicio de Angular para realizar los requests.

Utilicé un modulo de Angular, InfiniteScrollModule, el cual permite que al realizar un scroll down en una parte especifica del HTML se corra una función.

Esta función hace el request al backend, esperando solo 20 items. En el request se le pasa el numero de items esperados (20) y el numero de en que parte del maximo de items (96) nos encontramos, de tal forma que no se repitan los items en cada request. Este último número se modifica una vez que se recibe de vuelta el request, de tal forma que el próximo request no repita los mismos items.

#BackEnd

Utilicé Node.js para el backEnd. El backEnd recibe el request del frontEnd, entra en la base de datos, y obtiene la lista de 96 items.

Utilizando el numero en la ruta, y el numero de items esperados (20) determina que parte del array de productos debe devolver al frontEnd, en caso no queden suficientes items en la lista, se llenan con los primeros de la lista, de tal forma que siempre se entregue el numero esperado (20).

#Ejecución del Proyecto

Luego de clonar el repositorio, es necesario entrar en la terminal a la carpeta frontCar, dentro de la carpeta src. Correr el comando npm install para instalar los módulos de front end, incluyendo el modulo de angular que permite correr sus comandos en la terminal.

También es necesario correr el mismo comando en la carpeta backCar, también dentro de la carpeta src. Esto instalará los módulos necesarios para el backEnd.

Actualmente la información es obtenida de un array en el backEnd, pero el código podría ser modificado de forma mínima para obtener esta información de una Base de Datos.

Después de haber instalado los módulos tanto en el front end, como en el back end, en el back end se debe correr el comando "npm start", desde la carpeta backCar, y para el front end se debe correr el comando "ng serve" desde la carpeta frontCar. Después de esto, se podrá acceder en un explorador a http://localhost:4200/ para ver el proyecto en ejecución.

infinitescroll's People

Contributors

raulmy avatar

Watchers

James Cloos 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.