diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..3ebdbc0 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "CodeGPT.apiKey": "CodeGPT Plus Beta" +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..27c1a7e --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# Nehemías Mosqueda Portfolio + +Este repositorio contiene el código fuente para el sitio web del portafolio de Nehemías Mosqueda. El sitio está diseñado para mostrar información sobre habilidades, servicios, proyectos y cómo contactar a Nehemías. + +## Estructura del Código + +- **index.html**: Archivo principal que define la estructura del sitio web con diferentes secciones como "inicio", "sobre mí", "servicios", "portfolio" y "contacto". +- **css/style.css**: Archivo CSS personalizado para estilos específicos del sitio web. +- **js/script.js**: Archivo JavaScript que proporciona funcionalidades adicionales al sitio web. +- **images**: Carpeta con imágenes utilizadas en el sitio web. +- **documents**: Contiene archivos descargables como currículum y carta de presentación en formato PDF. + +## Secciones del Sitio Web + +- **Inicio (Home)**: Presentación de Nehemías Mosqueda con información sobre habilidades y estudios. Enlaces a perfiles de correo electrónico y GitHub. Botón de descarga de currículum. +- **Sobre Mí (About)**: Breve información personal, actitud hacia el aprendizaje y objetivo profesional. +- **Servicios (Services)**: Enumeración de servicios ofrecidos con descripciones breves. +- **Portfolio**: Muestra proyectos con imágenes, títulos y descripciones. +- **Contacto**: Formulario de contacto con campos para nombre, correo, teléfono, empresa y mensaje. +- **Contacto**: Formulario de contacto que envía los datos de manera segura a través de HTTPS utilizando el servicio [Formspree](https://formspree.io/). +- **Footer**: Información de derechos de autor y botón de regreso al inicio. + +## Recursos Externos Utilizados + +- **Swiper**: Librería JavaScript para crear sliders/carousels. +- **Boxicons**: Conjunto de iconos utilizados para redes sociales y servicios. + +## Optimización para Motores de Búsqueda (SEO) + +El sitio incorpora metadatos descriptivos y etiquetas Open Graph para mejorar la visibilidad en buscadores y redes sociales. Todas las imágenes incluyen atributos `alt` descriptivos para favorecer la accesibilidad y el posicionamiento. + +## Uso y Contribución + +El código es público y puede ser utilizado o modificado. Para contribuir, hacer un fork, realizar cambios y enviar un pull request. + +*Nota: Se recomienda mantener actualizados los recursos externos utilizados en el código.* + +Para más detalles o mejoras en la documentación, contactar a Nehemías Mosqueda a través de los enlaces proporcionados en el sitio web. + +### Configurar el formulario de contacto + +El formulario utiliza Formspree para enviar los mensajes de forma segura. Si deseas recibir los correos en tu propia cuenta, registra un formulario en Formspree y actualiza el atributo `action` en `index.html` con el enlace proporcionado por el servicio. + +Se ha incorporado Google reCAPTCHA para prevenir el spam. Registra tu dominio y reemplaza el valor de `data-sitekey` en `index.html` por tu clave de sitio. + diff --git a/css/style.css b/css/style.css index 1d64554..a3ccb58 100644 --- a/css/style.css +++ b/css/style.css @@ -14,7 +14,7 @@ :root { --bg-color: #fdfdfd; --text-color: #333; - --main-color: #754ef9; + --main-color: #8b1414; --white-color: #fdfdfd; --shadow-color: rgba(0, 0, 0, .2); } @@ -65,6 +65,8 @@ body { margin-right: auto; } + + .navbar a { position: relative; font-size: 1.7rem; @@ -137,6 +139,8 @@ section { font-size: 5.6rem; font-weight: 700; margin-bottom: .3rem; + line-height: 60px; + margin-top: 20px; } .home-content p { @@ -204,6 +208,7 @@ section { display: flex; justify-content: center; align-items: center; + text-align: center; animation: professionRotate 13s ease-out infinite; } @@ -382,6 +387,139 @@ span { margin: 1rem 0 3rem; } +.services-box ul { + text-align: left; + margin: 1rem 0 2rem 1.5rem; + font-size: 1.6rem; +} + +.services-box ul li { + margin-bottom: .5rem; + list-style-type: disc; +} + +.technologies { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + padding: 10rem 7% 2rem; +} + +.technologies { + min-height: auto; + padding-bottom: 10rem; +} + +.technologies h2 { + margin-bottom: 5rem; +} + +.technologies .technologies-container { + display: flex; + justify-content: center; + align-items: flex-start; + flex-wrap: wrap; + gap: 2rem; +} + +.technologies-container .technology-box { + flex: 1 1 30rem; + background: var(--bg-color); + padding: 3rem 2rem 4rem; + border-radius: 2rem; + box-shadow: 0 .1rem .5rem var(--shadow-color); + text-align: center; + border-top: .6rem solid var(--main-color); + border-bottom: .6rem solid var(--main-color); + height: 25rem; +} + +.technologies-container .technology-box:hover { + box-shadow: 0 .1rem 2rem var(--shadow-color); + transform: scale(1.02); + transition: .5s ease; +} + +.technology-box:hover h3 { + color: var(--main-color); +} + +.technology-box h3 { + font-size: 2.6rem; + margin-bottom: 2rem; +} + +.tech-icons { + display: flex; + justify-content: center; + flex-wrap: wrap; + gap: 1.5rem; +} + +.tech-icons i { + font-size: 5rem; + color: var(--main-color); +} + +.tech-icons svg { + width: 5rem; + height: 5rem; +} + +.certificates { + min-height: auto; + padding-bottom: 10rem; +} + +.certificates h2 { + margin-bottom: 5rem; +} + +.certificates .certificates-container { + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; + gap: 2rem; +} + +.certificates-container .certificates-box { + flex: 1 1 30rem; + background: var(--bg-color); + padding: 3rem 2rem 4rem; + border-radius: 2rem; + box-shadow: 0 .1rem .5rem var(--shadow-color); + text-align: center; + border-top: .6rem solid var(--main-color); + border-bottom: .6rem solid var(--main-color); + transition: .5s ease; +} + +.certificates-container .certificates-box:hover { + box-shadow: 0 .1rem 2rem var(--shadow-color); + transform: scale(1.02); +} + +.certificates-box i { + font-size: 7rem; + color: var(--main-color); +} + +.certificates-box h3 { + font-size: 2.6rem; + transition: .5s ease; +} + +.certificates-box:hover h3 { + color: var(--main-color); +} + +.certificates-box p { + font-size: 1.6rem; + margin: 1rem 0 3rem; +} + .portfolio { min-height: auto; padding-bottom: 10rem; diff --git a/documents/coverletter.pdf b/documents/coverletter.pdf new file mode 100644 index 0000000..97734fb Binary files /dev/null and b/documents/coverletter.pdf differ diff --git a/documents/curriculum.pdf b/documents/curriculum.pdf new file mode 100644 index 0000000..1f6b818 Binary files /dev/null and b/documents/curriculum.pdf differ diff --git a/images/about.png b/images/about.png index 117616c..caa6642 100644 Binary files a/images/about.png and b/images/about.png differ diff --git a/images/calculator.png b/images/calculator.png new file mode 100644 index 0000000..8d2172f Binary files /dev/null and b/images/calculator.png differ diff --git a/images/clima.webp b/images/clima.webp new file mode 100644 index 0000000..3e4e691 Binary files /dev/null and b/images/clima.webp differ diff --git a/images/drumPad.png b/images/drumPad.png new file mode 100644 index 0000000..979e56e Binary files /dev/null and b/images/drumPad.png differ diff --git a/images/favicon.png b/images/favicon.png new file mode 100644 index 0000000..8527c00 Binary files /dev/null and b/images/favicon.png differ diff --git a/images/home.png b/images/home.png index e95ae4c..caa6642 100644 Binary files a/images/home.png and b/images/home.png differ diff --git a/images/markdown.png b/images/markdown.png new file mode 100644 index 0000000..0d72e24 Binary files /dev/null and b/images/markdown.png differ diff --git a/images/portada.png b/images/portada.png new file mode 100644 index 0000000..b237e69 Binary files /dev/null and b/images/portada.png differ diff --git a/images/portada2.png b/images/portada2.png new file mode 100644 index 0000000..0864fc3 Binary files /dev/null and b/images/portada2.png differ diff --git a/images/sun.png b/images/sun.png new file mode 100644 index 0000000..eb4e5e7 Binary files /dev/null and b/images/sun.png differ diff --git a/index.html b/index.html index 2012a43..9e9990b 100644 --- a/index.html +++ b/index.html @@ -5,16 +5,23 @@ - Cool Responsive Portfolio Website Design - + + Nehemías Mosqueda Portfolio + + + + + + + + - - + @@ -25,10 +32,12 @@
@@ -39,83 +48,55 @@
-

Hello, I am

-

Cristian Chiriac

+

Hi! I am

+

Nehemías Mosqueda

- I'm a web developer who loves to create beautiful and functional websites - for people who want to make a difference in the world. + I am a passionate about programming that specializes the most in languages like + HTML, css, JavaScript, react, etc.

-

Currently I'm a student of The Jump Digital School, where I'm learning how to - create beautiful and functional websites using HTML, CSS, JavaScript, and WordPress.

+

Lately I am in the third year of the Bachelor's degree of Video Game Production and Digital Entertainment + at the National University of Rafaela (UNRaf).

- Download CV + Download CV
-
-
- -

Web Developer

-
-
- -

Photographer

-
-
- -

Web Designer

-
-
- -

Videographer

-
- -
-
+
-
- + Portrait of Nehemías Mosqueda
-
+
- + Illustration representing Nehemías Mosqueda

About Me

- Hi there, welcome to my website! I'm Cristian, - a passionate web developer who enjoys learning new technologies - and solving problems with code! + Hello! I am Nehemías Mosqueda. A web programmer ready for new + experiences and learning.

- This website is my personal blog where I write about web development - topics that interest me and inspire me. + This site is made to collect personal experiences regarding + my professional profile.

- Thank you for visiting my website and getting to know me better. I hope you - enjoyed reading my blog posts and - found - them useful and informative. If you want to read more of my posts, subscribe - to my newsletter where I send - weekly - updates on web development trends and tips. If you have any feedback or - suggestions, please let me know. I'd love to hear from you. + I hope that the information you see here is useful. If you need any of my services, + do not hesitate to contact me.

- Read More + Cover Letter
@@ -125,152 +106,214 @@

My Services

- -

Web Development

-

Lorem ipsum dolor sit amet consectetur, adipisicing elit. Excepturi itaque similique, architecto - eaque ut quas delectus pariatur nesciunt in eligendi mollitia dicta.

- Read More + +

Basic

+

Basic and Functional Landing Page

+
    +
  • Technologies: HTML, CSS, Javascript, Styling Libraries, Figma, Webflow
  • +
  • Includes: 1 page, functional site, responsive design, 14 days delivery, 2 revisions
  • +
  • Price: 95 USD
  • +
- -

Graphic Design

-

Lorem ipsum dolor sit amet consectetur, adipisicing elit. Excepturi itaque similique, architecto - eaque ut quas delectus pariatur nesciunt in eligendi mollitia dicta.

- Read More + +

Standard

+

+Funcional Website (3-5 Pages) +

+
    +
  • Technologies:HTML, CSS, Javascript, Styling Libraries, Figma, Webflow
  • +
  • Includes: 3-5 pages, functional site, responsive design, 14 days delivery, 4 revisions
  • +
  • Price: 195 USD
  • +
- -

Digital Marketing

-

Lorem ipsum dolor sit amet consectetur, adipisicing elit. Excepturi itaque similique, architecto - eaque ut quas delectus pariatur nesciunt in eligendi mollitia dicta.

- Read More + +

Premium

+

Pro Website Design (5-10 Pages)

+
    +
  • Technologies:HTML, CSS, Javascript, Styling Libraries, Figma, Webflow
  • +
  • Includes: 5-10 pages, functional site, responsive design, 7 days delivery, 5 revisions
  • +
  • Price: 295 USD
  • +
+
+ +
+
+ + +
+

Technologies

+ +
+
+

Front-end

+
+ + + + + + + + + + + + + + + + + + + + + +
+
+
+

Back-end

+
+ + + + +
+
+
+

Design

+
+ +
+
+
+
+ + +
+

My Certificates

+ +
+
+ +

Responsive Web
Design

+

Fundamentals of responsive layouts using Flexbox and Grid.

+ See Certificate +
+
+ +

JavaScript Algorithms and Data Structures

+

Programming challenges covering modern JavaScript and data structures.

+ See Certificate +
+
+ +

Front End Development Libraries

+

Learning React, Redux and other popular front-end libraries.

+ See Certificate +
+
+ +

Data Visualization

+

Building charts and graphics with D3 to create interactive visualizations.

+ See Certificate
-

Latest Project

+

Projects

- + Screenshot of SpaceTrip web game
-

Web Design

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique, ipsam est.

- +

SpaceTrip

+

SpaceTrip is a web game where you are an astronaut who has to collect stars and avoid asteroids. + The game features a simple and intuitive interface, with colorful graphics and sound effects. + It is designed to be fun and challenging for players of all ages. +

+
- + Screenshot of Deep Ambition game
-

Web Design

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique, ipsam est.

- +

Deep Ambition

+

Deep Ambition is a web game where you are an archaeologist in a mine who has to collect dynamite to make your way + and find a relic. + On your way you will have to evade dangerous Wendigos who will want to murder you.

+
+
- + Icon of ClimAPP weather app
-

Web Design

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique, ipsam est.

- +

ClimAPP

+

ClimAPP is a weather app that provides real-time weather information using external APIs.

+
+
- + Screenshot of Drum Pad Machine web app
-

Web Design

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique, ipsam est.

- +

Drum Pad Machine

+

Drum Pad Machine is a web app that allows you to create your own beats and music tracks using a variety of drum sounds and effects. + It features a user-friendly interface and customizable sound options.

+
+ +
- + Screenshot of Calculator web app
-

Web Design

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique, ipsam est.

- +

Calculator

+

Calculator is a web app that allows you to perform basic arithmetic operations. + It features a simple and intuitive interface.

+
-
- + +
+ Screenshot of Markdown Previewer web app
-

Web Design

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique, ipsam est.

- +

Markdown Previewer

+

Markdown Previewer is a web app that allows you to write and preview Markdown text in real-time. + It features a simple and intuitive interface.

+
+
- -
-

Valuable Testimonial

- -
-
-
-
- -

Jackson Levi

-

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Exercitationem dignissimos aliquid - iure delectus corrupti impedit, beatae aperiam ad iusto nostrum possimus cum pariatur harum - assumenda suscipit a, qui, tempora maxime nulla facere quo ipsum tempore. Atque libero - provident ad aut officia pariatur voluptate quaerat delectus nesciunt, sequi eligendi - aperiam fugit unde nihil, iste similique illum. Dignissimos enim officia consequuntur - dolores.

-
-
- -

Flora Ocean

-

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Exercitationem dignissimos aliquid - iure delectus corrupti impedit, beatae aperiam ad iusto nostrum possimus cum pariatur harum - assumenda suscipit a, qui, tempora maxime nulla facere quo ipsum tempore. Atque libero - provident ad aut officia pariatur voluptate quaerat delectus nesciunt, sequi eligendi - aperiam fugit unde nihil, iste similique illum. Dignissimos enim officia consequuntur - dolores.

-
-
- -

Julian Grayson

-

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Exercitationem dignissimos aliquid - iure delectus corrupti impedit, beatae aperiam ad iusto nostrum possimus cum pariatur harum - assumenda suscipit a, qui, tempora maxime nulla facere quo ipsum tempore. Atque libero - provident ad aut officia pariatur voluptate quaerat delectus nesciunt, sequi eligendi - aperiam fugit unde nihil, iste similique illum. Dignissimos enim officia consequuntur - dolores.

-
-
- -
-
-
-
-
-
-
-

Contact Me!

- -
+

Contact Me!

+ + +
- - + +
- - +
- + +
@@ -292,6 +335,7 @@

Contact Me!

+ diff --git a/js/script.js b/js/script.js index f31fcce..f29a2a3 100644 --- a/js/script.js +++ b/js/script.js @@ -1,6 +1,6 @@ /*========== menu icon navbar ==========*/ -let menuIcon = document.querySelector('#menu-icon'); -let navbar = document.querySelector('.navbar'); +const menuIcon = document.querySelector('#menu-icon'); +const navbar = document.querySelector('.navbar'); menuIcon.onclick = () => { menuIcon.classList.toggle('bx-x'); @@ -9,8 +9,8 @@ menuIcon.onclick = () => { /*========== scroll sections active link ==========*/ -let sections = document.querySelectorAll('section'); -let navLinks = document.querySelectorAll('header nav a'); +const sections = document.querySelectorAll('section'); +const navLinks = document.querySelectorAll('header nav a'); window.onscroll = () => { sections.forEach(sec => { @@ -29,7 +29,7 @@ window.onscroll = () => { /*========== sticky navbar ==========*/ -let header = document.querySelector('.header'); +const header = document.querySelector('.header'); header.classList.toggle('sticky', window.scrollY > 100); @@ -41,21 +41,6 @@ navbar.classList.remove('active'); }; -/*========== swiper ==========*/ -var swiper = new Swiper(".mySwiper", { - slidesPerView: 1, - spaceBetween: 50, - loop: true, - grabCursor: true, - pagination: { - el: ".swiper-pagination", - clickable: true, - }, - navigation: { - nextEl: ".swiper-button-next", - prevEl: ".swiper-button-prev", - }, -}); /*========== dark light mode ==========*/ @@ -76,6 +61,7 @@ ScrollReveal({ }); ScrollReveal().reveal('.home-content, .heading', { origin: 'top' }); -ScrollReveal().reveal('.home-img img, .services-container, .portfolio-box, .testimonial-wrapper, .contact form', { origin: 'bottom' }); +ScrollReveal().reveal('.home-img img, .services-container, .technologies-container, .certificates-container, .portfolio-box, .testimonial-wrapper, .contact form', { origin: 'bottom' }); ScrollReveal().reveal('.home-content h1, .about-img img', { origin: 'left' }); -ScrollReveal().reveal('.home-content h3, .home-content p, .about-content', { origin: 'right' }); \ No newline at end of file +ScrollReveal().reveal('.home-content h3, .home-content p, .about-content', { origin: 'right' }); +