Giter Club home page Giter Club logo

project-promo-r-module-3-team-2's Introduction

Proyecto 3. Un caso de código heredado

Ahoy! 👋🏼 En este repositorio podréis encontrar los ficheros generados en la realización del proyecto final del Módulo 3 - Promo Radia.

NOTA: Enlace directo al poyecto pulsando aquí

Autoras👩🏻‍💻:

En la realización de este proyecto han participado:

Descripción📄:

La finalidad de este proyecto es trabajar con el código heredado de otro equipo respetando tanto la estética como las funcionalidades de la aplicación web. Con ese objetivo, adaptaremos a nuestro framework React el código que se ha desarrollado previamente utilizando HTML, Sass y Javascript.

Tecnologías utilizadas💻:

  • Lenguajes:
    • Lenguaje de marcado: HTML5.
    • Lenguaje de estilos: CSS avanzado con diseño responsive.
    • Lenguaje de programación: Vanilla JS.
    • JavaScript XML: JSX.
  • Automatización de tareas: Gulp.
  • Procesador CSS: Sass.
  • Control de versiones: GitHub.
  • Almacenamiento en local usando LocalStorage.
  • Acceso y envío de datos a un servidor.
  • Gestión de eventos en el navegador.
  • JSON.
  • NodeJS.
  • Librería JavaScript: .React Native.
  • Llamadas a la API: enviar y recuperar datos de un servidor.
  • Estructura en árbol: organizar el proyecto con una jerarquía arborescente.
  • Componentes: identifica componentes únicos y reutilizables.
  • UseState: variables de estado para todos los datos manipulados por el usuario.
  • Props: flujo de información de componentes superiores a inferiores.
  • Lifting: trabajar con eventos y mover información hacia arriba.
  • Rutas y Enlaces: SPA con react-router-dom.
  • Gestión de eventos en cada componente.
  • Adalab - Web starter kit.

Organización del código:

Es importante tener en cuenta que la organización del código en este repositorio está dividida en distintos partials.

Objetivos de nuestro proyecto🎯:

  • Lidiar con código heredado y ser capaces de refactorizarlo.
  • Saber identificar y generar los componentes de una página, separarlos y crear componentes visualmente similares a partir de estos.
  • Aprender a usar React para crear una aplicación web sencilla.
  • Aprender a buscar información en la documentación de librerías externas.
  • Implementar Scrum como marco de referencia para el desarrollo del producto, basándonos siempre en los valores de Agile como puntos clave del trabajo en equipo y la mejora continua.
  • Mejorar la comunicación entre los miembros del equipo.
  • Mejorar vuestras habilidades de comunicación en público al exponer el proyecto en la sesión final.

Especificaciones:

De cara a la refactorización, el proyecto debe utilizar estas tecnologías:

  • Uso de Sass para los estilos.
  • Uso de mediaqueries para que el diseño sea adaptable al dispositivo.
  • Desarrollo usando la estrategia mobile first.
  • Uso de git para el control de versiones del proyecto, con ramas y pull-requests para revisar los cambios de las compañeras.
  • Publicación del resultado en Internet usando GitHub Pages.

La webapp deberá tener las siguientes nuevas características:

  • Uso de React para la estructuración del JS de la aplicación.
  • Deberá usar transiciones y/o animaciones para mejorar interacciones con la aplicación.
  • Debe implementarse con una navegación entre distintas páginas de la aplicación usando React router.

Pasos a seguir para utilizar este proyecto en vuestro ordenador💾:

NOTA: Este proyecto se ha realizado utilizando React.

Pasos a seguir cada vez que se quiere arrancar un proyecto desde cero:

  • Clona este repositorio en tu ordenador.
  • Ábrelo en tu editor de código.
  • Abre una terminal e instala las dependencias locales ejecutando en la terminal de comando. A contionuación os dejo las que he utilizado para arrancar mi proyecto:
npm install 
npm install node-sass
npm install react-router-dom
npm install prop-types

Pasos para arrancar el proyecto:

El proyecto hay que arrancarlo cada vez que nos pongamoss a programar, para ello ejecutaremos el comando:

npm start

Después de ejecutar npm start ya podemos empezar a editar todos los ficheros que están dentro de la carpeta src/ y programar cómodamente 💫 .

Feedback:

Cualquier aportación será bien recibida, ¡Muchas gracias! 😉.

project-promo-r-module-3-team-2's People

Contributors

becky-gomez-castillejos avatar calpurniax avatar celiamartin11 avatar elenavar avatar marocena26 avatar

Stargazers

 avatar  avatar

project-promo-r-module-3-team-2's Issues

Layout

Layout a bit so it doesn't look ugly.

Maybe I can use bootstrap in this first fake?

4. Full version with React

  • Usar inputs de tipo file para la gestión de la foto de la tarjeta.
  • Actualización de la foto en la vista previa de la tarjeta, usando el componente proporcionado
  • Implementar la comunicación con el backend, la función de compartir y offline.

ticket/05

  • Create button - create new card with user
  • Twitter button - share the card link in twitter

ticket/02

  • Palettes
  • Form review
  • onSubmit event -> form

Working agreements

  • Definir quién es la SCRUM master cada sprint y sus funciones: Rebeca
  • Definir cómo se toman las decisiones el equipo: consenso durante las daily.
  • Definir canales de comunicación: slack.
  • Definir horarios de trabajo/coordinación fuera del horario presencial de Adalab: organizarlo cada día y hablarlo.
  • Establecer cómo se trabajará en el proyecto: individualmente, por parejas, en equipo...: en función de las necesidades.
  • Definir cómo se compartirán los aprendizajes del proyecto entre los miembros del equipo: durante las horas de proyecto, comentarios en visual studio o slack, subir comentarios a git mas específicos.
  • Establecer actividades que fortalezcan el teambuilding: tener una sesión de autocuidado.
  • Establecer horario daily: al principio de las sesiones.
  • Preparar la presentación final del proyecto: (después del segundo sprint)
  • Definir la convención de código del proyecto: (Modulo 1+2+3)
  • Formateador por defecto: El formateador de VisualStudio Code para HTML y Prettier para CSS y JS. (lo vamos viendo).
  • Word-Wrap: 80
  • Para strings, usar " en HTML y ' en JS.
  • Fin de línea con LF (ver barra inferior en el VisualStudio Code)
  • Indentación con 2 espacios (ver barra inferior en el VisualStudio Code)

Objectives

  1. Lidiar con código heredado y ser capaces de refactorizarlo.
  2. Saber identificar y generar los componentes de una página, separarlos y crear componentes visualmente similares a partir de estos.
  3. Aprender a usar React para crear una aplicación web sencilla.
  4. Aprender a buscar información en la documentación de librerías externas.
  5. Implementar Scrum como marco de referencia para el desarrollo del producto, basándonos siempre en los valores de Agile como puntos clave del trabajo en equipo y la mejora continua.
  6. Mejorar la comunicación entre los miembros del equipo.
  7. Mejorar vuestras habilidades de comunicación en público al exponer el proyecto en la sesión final.

Page

URL of our published page.

Create a fake server

  • Create a fake server and add a .json file with fake information and fetch it from the web application with fetch.

Technical planning

1. Análisis del proyecto

  • Crear un repositorio con el proyecto de React que incluya una carpeta con el proyecto heredado.
  • Analizar y probar el código heredado y entender su estructura para poder adaptarla a nuestras necesidades y conocimientos.
  • Solucionar errores detectados en el código.

2. Maquetación con React de la página de la herramienta

  • Definir la estructura del proyecto de React.
  • Crear el componente App de la aplicación con todos los elementos de la página.
  • Realizar la interactividad, usando el estado y los eventos de React.

3. Estructura de componentes React

  • Definir una estructura de componentes React de la aplicación.
  • Generar los componentes del proyecto y comunicar información mediante props y lifting.

4. Versión completa con React

  • Usar inputs de tipo file para la gestión de la foto de la tarjeta.
  • Actualización de la foto en la vista previa de la tarjeta, usando el componente proporcionado
  • Implementar la comunicación con el backend, la función de compartir y offline.

5. Mejoras finales

  • Crear la página de landing.
  • Implementar las rutas con React router.
  • Revisión del código y pruebas.
  • Podrán implementarse otras mejoras visuales si todo ya está terminado y acordado con el PO.

ticket/16

  • Creamos componente para el landing y para la card.

ticket/07

  • Hacer funcional la tarjeta: al clicar sobre los iconos de las redes sociales debe llevarnos a la página en cuestión.

3. React component structure

  • Definir una estructura de componentes React de la aplicación.
  • Generar los componentes del proyecto y comunicar información mediante props y lifting.

Paint the pairs on screen

Once the pairs have been generated, the pairs must be painted on the screen, in a list <ul /> or in a table <table />.

Randomly generate pairs

  • Generate pairs randomly taking care not to produce an infinite loop.
  • Once the straws have been generated, they must be painted on the console.

ticket/13

  • Componentes para Preview Card (tarjeta)

ticket/08

  • Fetch
  • Falta clase hidden para enseñar el url

1. Project analysis

  • Crear un repositorio con el proyecto de React que incluya una carpeta con el proyecto heredado.
  • Analizar y probar el código heredado y entender su estructura para poder adaptarla a nuestras necesidades y conocimientos.
  • Solucionar errores detectados en el código.

Specifications

Se partirá de un proyecto funcional (el generador de tarjetas interactivas), solo debemos heredar todo el Sass del proyecto, mantenerlo, evolucionarlo y refactorizarlo. Refactorizar código consiste en modificar un código para mejorar su estructura pero sin añadir nuevas funcionalidades.

De cara a la refactorización, el proyecto debe utilizar estas tecnologías:

  • Uso de Sass para los estilos.
  • Uso de mediaqueries para que el diseño sea adaptable al dispositivo.
  • Desarrollo usando la estrategia mobile first.
  • Uso de git para el control de versiones del proyecto, con ramas y pull-requests para revisar los cambios de las compañeras.
  • Publicación del resultado en Internet usando GitHub Pages.

La webapp deberá tener las siguientes nuevas características:

  • Uso de React para la estructuración del JS de la aplicación.
  • Deberá usar transiciones y/o animaciones para mejorar interacciones con la aplicación.
  • Debe implementarse con una navegación entre distintas páginas de la aplicación usando React router.

Working Agretments

  • Definir quién es la SCRUM master cada sprint y sus funciones: Celia-Rebeca-Elena V.
  • Definir cómo se toman las decisiones el equipo: consenso durante las daily.
  • Definir canales de comunicación: slack.
  • Definir horarios de trabajo/coordinación fuera del horario presencial de Adalab: organizarlo cada día y hablarlo.
  • Establecer cómo se trabajará en el proyecto: individualmente, por parejas, en equipo...: en función de las necesidades.
  • Definir cómo se compartirán los aprendizajes del proyecto entre los miembros del equipo: durante las horas de proyecto, comentarios en visual studio o slack, subir comentarios a git mas específicos.
  • Establecer actividades que fortalezcan el teambuilding: tener una sesión de autocuidado.
  • Establecer horario daily: al principio de las sesiones.
  • Preparar la presentación final del proyecto: (después del segundo sprint)
  • Definir la convención de código del proyecto: (Modulo 1+2+3)
  • Formateador por defecto: El formateador de VisualStudio Code para HTML y Prettier para CSS y JS. (lo vamos viendo).
  • Word-Wrap: 80
  • Para strings, usar " en HTML y ' en JS.
  • Fin de línea con LF (ver barra inferior en el VisualStudio Code)
  • Indentación con 2 espacios (ver barra inferior en el VisualStudio Code)

5. Final improvements

  • Crear la página de landing.
  • Implementar las rutas con React router.
  • Revisión del código y pruebas.
  • Podrán implementarse otras mejoras visuales si todo ya está terminado y acordado con el PO.

ticket/01

Form - Card

  • JavaScript events
  • Use state function
  • fill the gaps

2. React layout of the tool page

  • Definir la estructura del proyecto de React.
  • Crear el componente App de la aplicación con todos los elementos de la página.
  • Realizar la interactividad, usando el estado y los eventos de React.

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.