Giter Club home page Giter Club logo

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

Proyecto 2. Awesome profile-cards

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

Autoras👩🏻‍💻:

En la realización de este proyecto han participado:

Descripción📄:

¡Sean todos bienvenidos a Coding Time! En este repositorio encontraréis nuestra aplicación web Algebraic profile-cards, la cual os permitirá crear una tarjeta de visita totalmente personalizada.

En ella podréis:

  • introducir vuestros datos personales.
  • introducir vuestros perfiles profesionales.
  • adjuntar una foto de vuestro estilo.
  • elegir los colores de vuestra tarjeta seleccionado una de las tres originales de paletas que os ofrecemos.
  • obtener una vista maquetada de vuestra información una vez rellenéis todos los campos.

Y no solo eso, ¿sabéis que es lo mejor de todo? ¡Que podréis compartirla en Twitter! 🐦

Tecnologías utilizadas💻:

  • Lenguajes:
    • Lenguaje de marcado: HTML5.
    • Lenguaje de estilos: CSS avanzado con diseño responsive.
    • Lenguaje de programación: Vanilla JS.
  • 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.
  • Adalab - Web starter kit.

Organizando el 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🎯:

  • Aprender los conceptos básicos de programación (variables, estructuras de datos, condicionales, funciones, etc.).
  • Comprender cómo manipular el DOM de una página y responder a eventos del usuario.
  • Manejar estructuras de datos complejas, con arrays y objetos.
  • Realizar peticiones al servidor y almacenar datos en local.
  • 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:

El proyecto consta de 2 páginas:

  • Una página landing de bienvenida.

image

  • Una página con la aplicación de crear tarjetas.

image

La aplicación funciona siguiendo estos pasos:

  1. Permitir al usuario elegir el estilo de la tarjeta, eligiendo paleta de colores.
  2. Permitir al usuario que, mediante la introducción de información en un formulario, este texto se muestre maquetado automáticamente en un cuadro similar a una tarjeta de visita, que será la muestra del resultado final.
  3. Permitir que el usuario pueda crear una web con su tarjeta y compartirla por Twitter.

La tarjeta de visita deberá tener los siguientes campos (entre paréntesis el nombre del campo a usar):

  • Nombre completo (full_name)
  • Profesión (job)
  • Datos personales
    • Teléfono (phone)
    • Correo electrónico (email)
  • RRSS
    • LinkedIn (linkedin)
    • GitHub (github)

image

image

Respecto a la interacción con la web:

  • Los campos deberán tener restricciones para su formato indicado. Campo de teléfono para el móvil, mail para el correo, etc.
  • Las modificaciones que hacemos en el formulario (diseño y contenido), aparecen automáticamente en la vista previa de la tarjeta
  • Las 3 partes del proceso de creación serán elementos colapsables, que al hacer clic en el título se mostrará/ocultará solo mostrando una sección a la vez
  • Toda la información del formulario debe almacenarse en LocalStorage (almacenamiento local del navegador), de forma que al recargar la página siga disponible y podamos borrarla con un botón de Reset. Para esto, debemos definir una estructura de datos compleja (con arrays y objetos) que es lo que guardaremos en el navegador

Respecto a la funcionalidad del botón de Twitter:

  • Si el usuario no rellena los campos no se podrá compartir la tarjeta en Twitter:

image

  • Si el usuario ha rellenado todos los campos aparecerá el siguiente mensaje:

image

  • Una vez aparezca nuestro botón de compatir, seguiremos 2 pasos:
  1. Al hacer clic en el botón de "Enviar" enviaremos el formulario (submit) a un API que devolverá la URL de una web con la tarjeta de visita con la información rellena
  2. Mostraremos esta URL para que el usuario verifique si la tarjeta está bien definida y un botón de "Compartir" que enlazará a Twitter donde habrá un tweet con texto predefinido que incluye la URL de la tarjeta

image

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

Este proyecto se ha realizado utilizando una plantilla de proyecto con funcionalidades preinstaladas y preconfiguradas, como es el Adalab web starter kit. Este Kit incluye un motor de plantillas HTML, el preprocesador SASS y un servidor local y muchas cosas más. Para poder trabajar con él se debe tener previamente instalado Node JS.

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

  • Crea tu propio repositorio.
  • Descarga el Starter kit desde GitHub.
  • Copia todos los ficheros en la carpeta raíz del repositorio.
  • Abre una terminal e instala las dependencias locales ejecutando en la terminal de comando:
npm install

Pasos para arrancar el proyecto:

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

npm start

Este comando:

  • Abre una ventana de Chrome y muestra tu página web, al igual que hace el plugin de VS Code Live Server (Go live).
  • También observa todos los ficheros que hay dentro de la carpeta src/, para que cada vez que modifiques un fichero refresca tu página en Chrome.
  • También procesa los ficheros HTML, SASS / CSS y JS y los genera y guarda en la carpeta public/. Por ejemplo:
    • Convierte los ficheros SASS en CSS.
    • Combina los diferentes ficheros de HTML y los agrupa en uno o varios ficheros HTML.

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.

Resultado final:

Puedes echar un vistazo a cómo quedó en Github Pages: Coding Time.

Esperamos que os guste 😉.

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

Contributors

ana-purple-dev avatar blancaum avatar lauragonzalezcalvo avatar marialapc avatar marocena26 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

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

3. Awesome Profile Cards UI. DESKTOP

To do HTML:

  • Landing page
  • Header
  • Colapsable form: DISEÑA
  • Colapsable form: RELLENA
  • Colapsable form: COMPARTE
  • Card preview
  • Footer
  • Desktop layout

To do Sass:

  • Landing page
  • Header
  • Colapsable form: DISEÑA
  • Colapsable form: RELLENA
  • Colapsable form: COMPARTE
  • Card preview
  • Footer
  • Desktop layout

Check that input received for github and linkedin is the same as the placeholder

Tenemos que:

  • 1. Comprobar que lo que mete el usuario es igual que el placeholder.
  1. De lo que meta el usuario, quedarnos solo con la parte que nos interesa:
  • 2.1 En linkedin, si el input es linkedin.com/in/blanca-ubis-martinez/ quedarnos con: blanca-ubis-martinez (la última parte del link)
  • 2.2 En github, si el input es @ blancaum, quedarnos con blancaum (quitar el @).
  1. Construir cada link con esos datos:

Awesome Profile Cards share

VALUE

Share my online card via Twitter

CONTEXT

Martha is looking for a job. She uses Awesome Profile Cards to create her online card and shares it with potential employers via Twitter. She receives an email from a fintech startup that wants to interview her for a position in the team.

RESOURCES
Service to publish a card online and get a shareable link

DoD

  • Published online
  • Updating the photo in the card preview, using the provided component
  • Adding Twitter sharing functionality, first sending data to the server to get the sharing URL

Acceptance criteria

  • Create a link with the card
  • Share the link via Twitter
  • Preview interactive - photo

Refactorize code

Coger el código que ya tenemos y ponerlo más limpio, meter lo que se pueda en funciones, eliminar duplicidades y simplificar lo que se pueda.

Merge branch

PRIMERO avisar a las compañeras en slack

0- git checkout nombre-rama (nos ponemos en nuestra rama propia)
1- git add -A (añadimos nuestro trabajo)
2- git commit -m "descripción de la versión" (creamos una versión poner delante ADD, DELETE, UPDATE del comentario, o cualquier otro verbo en inglés)
3- git push

4- git checkout main (cambiamos a la rama main)
5- git pull (nos bajamos los últimos cambios que haya en main)
6- git checkout nombre-rama (nos cambiamos a nuestra rama)
7- git merge main
8- Resolvemos conflictos si los hay. Aquí puede haber dos casos
8.1- MERGE BLANDO: Si te sale una pantalla raruna (editor VIM) en la terminal es porque se está haciendo un merge "blando", es decir, los conflictos que haya los puede resolver git él solo. Para salir de esta pantalla raruna, hacer Ctrl + X (Windows). Esto te hace un git add y un git commit automático, por lo que solo te quedaría hacer git push.
8.2- MERGE DURO: En este caso nos pondrá exclamaciones en aquellos archivos con conflicto y hay que resolverlos a mano, decidiendo si nos quedamos con nuestro código, con el de main, o con ambos. Una vez resueltos los conflictos, hacer git add -A, git commit -m y git push

9- git checkout main (volvemos a cambiar a main)
10- git merge nombre-rama (nos traemos nuestra rama a main). No debería dar conflictos porque ya los hemos resuelto antes al traernos main a nuestra rama, por lo que probablemente sea un merge blando.
11- git push

2. Awesome Profile Cards UI. TABLET

To do:

  • Landing page
  • Header
  • Colapsable form: DISEÑA
  • Colapsable form: RELLENA
  • Colapsable form: COMPARTE
  • Card preview
  • Footer
  • Desktop layout

To do Sass

  • Landing page
  • Header
  • Mobile layout
  • Colapsable form: DISEÑA
  • Colapsable form: RELLENA
  • Colapsable form: COMPARTE
  • Card preview
  • Footer

Project presentation

We have to make a presentation or video for the demo.
We can use Canva for example, is easy and pretty.
Make a trailer (María knows :D).

Working agreements

PROPUESTAS POR ADALAB

  • Definir quién es la SCRUM master cada sprint y sus funciones
  • Definir cómo se toman las decisiones el equipo
  • Definir canales de comunicación
  • Definir horarios de trabajo/coordinación fuera del horario presencial de Adalab
  • Establecer cómo se trabajará en el proyecto: individualmente, por parejas, en equipo...
  • Definir cómo se compartirán los aprendizajes del proyecto entre los miembros del equipo
  • Establecer actividades que fortalezcan el teambuilding
  • Buscar eventos y asistir juntas como mínimo a un evento tecnológico
  • Establecer horario daily
  • Preparar la presentación final del proyecto
  • Definir la convención de código del proyecto
  • Formateador por defecto: El formateador de VisualStudio Code para HTML y Prettier para CSS y JS.
  • 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)

ACUERDOS EQUIPO

1. Awesome Profile Cards UI. MOBILE.

To do HTML:

  • Landing page
  • Header
  • Mobile layout
  • Colapsable form: DISEÑA
  • Colapsable form: RELLENA
  • Colapsable form: COMPARTE
  • Card preview
  • Footer

To do Sass

  • Landing page
  • Header
  • Mobile layout
  • Colapsable form: DISEÑA
  • Colapsable form: RELLENA
  • Colapsable form: COMPARTE
  • Card preview
  • Footer

Objective

OBJECTIVES

  • Aprender los conceptos básicos de programación (variables, estructuras de datos, condicionales, funciones, etc.)
  • Comprender cómo manipular el DOM de una página y responder a eventos del usuario
  • Manejar estructuras de datos complejas, con arrays y objetos
  • Realizar peticiones al servidor y almacenar datos en local
  • 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

Define content for the web

In this project we are going to create a web application that allows us to create a personalised business card. On the web page we can enter our professional data and obtain a layout view with this information. The good thing about this project is that it will be a tool that you can benefit from. It will be an interactive web application created by you and that you can use to create your own professional business cards.

0. First steps

FIRST TASKS

  • Create the repository in GitHub.
  • Create board on GitHub Projects.

Working agreements

  • Definir quién es la SCRUM master cada sprint y sus funciones: LAURA.
  • 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)
  • Formateador por defecto: El formateador de VisualStudio Code para HTML y Prettier para CSS y JS.
  • 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)

Context

CONTEXT
A web developer, Angelina, is exploring her Twitter timeline and discovers a tweet with a link to an Adalabers ongoing project: Awesome Profile Cards. She accesses the URL to the project, checks the project UI and finds it awesome. The next day, she shares the URL with her company manager since they are looking for a UI developer for the team.

RESOURCES

  • A group name.
  • APC design, mobile and desktop.

DoD (cuándo consideramos que está acabado)

  • Published and accesible online.
  • The repo name follows the indicated conventions.

Acceptance criteria

  • Landing page
  • Header
  • Mobile layout
  • Colapsable form: DISEÑA
  • Colapsable form: RELLENA
  • Colapsable form: COMPARTE
  • Card preview
  • Footer
  • Desktop layout

Specifications

En el desarrollo de esta aplicación web usaremos las siguientes tecnologías:

  • Uso avanzado de formularios HTML
  • Maquetación usando CSS avanzado, como flex y grid
  • Uso de mediaqueries para que el diseño sea adaptable al dispositivo usando la estrategia mobile first
  • Gestión de eventos en el navegador (al hacer click, pasa x, etc.)
  • Acceso y envío de datos a un servidor
  • Almacenamiento en local usando LocalStorage
  • Uso de git para el control de versiones del proyecto
  • Publicación del resultado en Internet usando GitHub Pages

El proyecto consta de 2 páginas:

  • Una página landing de bienvenida
  • Una página con la aplicación de crear tarjetas

La aplicación funciona siguiendo estos pasos:

  1. Permitir al usuario elegir el estilo de la tarjeta, eligiendo paleta de colores
  2. Permitir al usuario que, mediante la introducción de información en un formulario, este texto se muestre maquetado automáticamente en un cuadro similar a una tarjeta de visita, que será la muestra del resultado final
  3. Permitir que el usuario pueda crear una web con su tarjeta y compartirla por Twitter

La tarjeta de visita deberá tener los siguientes campos (entre paréntesis el nombre del campo a usar):

  • Nombre completo (full_name)
  • Profesión (desarrolladora front-end ;) (job)
  • Datos personales
  • Teléfono (phone)
  • Correo electrónico (email)
  • RRSS
  • LinkedIn (linkedin)
  • GitHub (github)

Respecto a la interacción con la web:

  • Los campos deberán tener restricciones para su formato indicado. Campo de teléfono para el móvil, mail para el correo, etc.
  • Las modificaciones que hacemos en el formulario (diseño y contenido), aparecen automáticamente en la vista previa de la tarjeta
  • Las 3 partes del proceso de creación serán elementos colapsables, que al hacer clic en el título se mostrará/ocultará solo mostrando una sección a la vez
  • Toda la información del formulario debe almacenarse en LocalStorage (almacenamiento local del navegador), de forma que al recargar la página siga disponible y podamos borrarla con un botón de Reset. Para esto, debemos definir una estructura de datos compleja (con arrays y objetos) que es lo que guardaremos en el navegador

Para compartir en Twitter seguiremos 2 pasos:

  1. Al hacer clic en el botón de "Enviar" enviaremos el formulario (submit) a un API que devolverá la URL de una web con la tarjeta de visita con la información rellena
  2. Mostraremos esta URL para que el usuario verifique si la tarjeta está bien definida y un botón de "Compartir" que enlazará a Twitter donde habrá un tweet con texto predefinido que incluye la URL de la tarjeta

4. Awesome Profile Cards Interactive

VALUE

Someone in the Internet could see an interactive ongoing Adalabers project

CONTEXT

Corina is a back-end developer is a startup in Campus Madrid. She finds out that the adalabers working in Campus are building a project about an interactive site. She checks out one of the projects from GitHub and create a pull-request with improvements to help them.

To Do

  • Preview interactive - color palette
  • Preview interactive - full name
  • Preview interactive - job
  • Preview interactive - social networks
  • Interactive form: when modifying a form field, both the card design and the user data (except the photo), the preview is updated.
  • Perform form data validations: mandatory fields, email, etc.

DoD (cuándo consideramos que está acabado)

  • Published online

Awesome Profile Cards online

VALUE

Someone in the Internet could see an interactive ongoing Adalabers project.

CONTEXT

Ashley is a devops engineer is a company. She finds out that the adalabers working in Campus are building a project about an interactive site. She uses the project to create a profile card and when she reloads the page, the info is still there.

DoD

  • Published online.
  • Have the content stored in the browser's LocalStorage.

Acceptance criteria

  • When the page is refreshed, the filled out info is still there.
  • The Reset button erases the info.

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.