
├── .gitignore ├── README.md ├── comps ├── devices.ai ├── intro.ai ├── intro.png ├── intro.svg ├── rosie.psd └── skills.ai ├── gulpfile.js ├── package-lock.json ├── package.json ├── server.js ├── src ├── 404.html ├── assets │ ├── app │ │ ├── _contact.js │ │ ├── _experience.js │ │ ├── _header.js │ │ ├── _navbar.js │ │ ├── _portfolio.js │ │ ├── app.js │ │ └── lib │ │ │ ├── form1.js │ │ │ └── form2.js │ ├── css │ │ └── style.css │ ├── fonts │ │ └── bootstrap │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ ├── img │ │ ├── arrow-left.png │ │ ├── arrow-right.png │ │ ├── close.svg │ │ ├── desktop.svg │ │ ├── experience │ │ │ ├── epn.png │ │ │ ├── free.png │ │ │ ├── google.svg │ │ │ ├── mdd.png │ │ │ ├── nintendo.svg │ │ │ ├── rand.png │ │ │ ├── sesame.svg │ │ │ └── starbucks.svg │ │ ├── inline.svg │ │ ├── ipad.svg │ │ ├── link-website.svg │ │ ├── mobile.svg │ │ ├── portfolio │ │ │ ├── adeq.png │ │ │ ├── carcrash.png │ │ │ ├── classappraisal.png │ │ │ ├── devref.png │ │ │ ├── disney.png │ │ │ ├── eighties.png │ │ │ ├── fridgebinge.png │ │ │ ├── harmonystyles.png │ │ │ ├── hdrgallery.png │ │ │ ├── riskvisualizer.png │ │ │ └── rosie.png │ │ ├── skills │ │ │ ├── afterfx.svg │ │ │ ├── angular.svg │ │ │ ├── bash.svg │ │ │ ├── bootstrap.svg │ │ │ ├── css.svg │ │ │ ├── d3.svg │ │ │ ├── firebase.svg │ │ │ ├── git.svg │ │ │ ├── gsap.svg │ │ │ ├── gulp.svg │ │ │ ├── html.svg │ │ │ ├── illustrator.svg │ │ │ ├── jasmine.svg │ │ │ ├── jquery.svg │ │ │ ├── js.svg │ │ │ ├── mongo.svg │ │ │ ├── node.svg │ │ │ ├── npm.svg │ │ │ ├── phaser.svg │ │ │ ├── photoshop.svg │ │ │ ├── premiere.svg │ │ │ ├── react.svg │ │ │ ├── sass.svg │ │ │ ├── skills.svg │ │ │ ├── sublime.svg │ │ │ ├── svg.svg │ │ │ └── typescript.svg │ │ ├── social │ │ │ ├── facebook.png │ │ │ ├── github.png │ │ │ └── linkedin.png │ │ ├── xl.png │ │ ├── xs.png │ │ └── zoom.svg │ ├── js │ │ └── app.js │ ├── res │ │ ├── favicon │ │ │ ├── android-chrome-144x144.png │ │ │ ├── android-chrome-36x36.png │ │ │ ├── android-chrome-48x48.png │ │ │ ├── android-chrome-72x72.png │ │ │ ├── android-chrome-96x96.png │ │ │ ├── apple-touch-icon-114x114.png │ │ │ ├── apple-touch-icon-120x120.png │ │ │ ├── apple-touch-icon-144x144.png │ │ │ ├── apple-touch-icon-57x57.png │ │ │ ├── apple-touch-icon-60x60.png │ │ │ ├── apple-touch-icon-72x72.png │ │ │ ├── apple-touch-icon-76x76.png │ │ │ ├── apple-touch-icon-precomposed.png │ │ │ ├── apple-touch-icon.png │ │ │ ├── browserconfig.xml │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── favicon-96x96.png │ │ │ ├── favicon.ico │ │ │ ├── manifest.json │ │ │ ├── mstile-144x144.png │ │ │ ├── mstile-150x150.png │ │ │ ├── mstile-310x150.png │ │ │ ├── mstile-310x310.png │ │ │ ├── mstile-70x70.png │ │ │ └── safari-pinned-tab.svg │ │ └── video │ │ │ ├── bg.mp4 │ │ │ ├── fridgebinge-desktop.mp4 │ │ │ └── rosie-desktop.mp4 │ └── scss │ │ ├── _buttons.scss │ │ ├── _fonts.scss │ │ ├── _form.scss │ │ ├── _header.scss │ │ ├── _images.scss │ │ ├── _layout.scss │ │ ├── _modals.scss │ │ ├── _navbar.scss │ │ ├── _responsive.scss │ │ ├── _tricks.scss │ │ ├── _vars.scss │ │ ├── _video.scss │ │ └── style.scss └── index.html ├── template ├── data.json └── partials │ ├── experience.html │ ├── favicons.html │ ├── modal-portfolio.html │ ├── modal-resume.html │ ├── portfolio.html │ ├── skillset.html │ └── svg-intro.html └── utils ├── GitHub-Logo.png ├── aftereffects.png ├── crap ├── gulpfile.js ├── server.js └── temp │ ├── app.js │ └── style.css ├── cssparalax.css ├── docs.png ├── download.png ├── drive.png ├── express.xcf ├── facebook_circle_color-512.png ├── favicon.ico ├── finalcut.png ├── firstformvalidator.txt ├── formvalidation-master ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTORS.md ├── Gruntfile.js ├── LICENSE.txt ├── README.md ├── demo │ ├── ajaxSubmit.html │ ├── ajaxSubmit.php │ ├── attribute.html │ ├── choice.html │ ├── collapse.html │ ├── container.html │ ├── container2.html │ ├── container3.html │ ├── container4.html │ ├── date.html │ ├── defaultMessage.html │ ├── dynamic.html │ ├── dynamic2.html │ ├── dynamic3.html │ ├── dynamic4.html │ ├── enable.html │ ├── enable2.html │ ├── event.html │ ├── event2.html │ ├── event3.html │ ├── file.html │ ├── foundation │ │ ├── horizontalForm.html │ │ └── horizontalFormTooltip.html │ ├── html5.html │ ├── i18n.html │ ├── icon.html │ ├── ignored.html │ ├── index.html │ ├── invisible.html │ ├── mailgun.html │ ├── message.html │ ├── multiple.html │ ├── multipleAsOne.html │ ├── pure │ │ ├── horizontalForm.html │ │ └── stackedForm.html │ ├── remote.html │ ├── remote.php │ ├── remote2.php │ ├── reset.html │ ├── row.html │ ├── selector.html │ ├── selector2.html │ ├── semantic │ │ ├── horizontalForm.html │ │ ├── horizontalFormTooltip.html │ │ ├── stackedForm.html │ │ └── stackedFormTooltip.html │ ├── specialName.html │ ├── submitHandler.html │ ├── tab.html │ ├── target.php │ ├── tooltip.html │ ├── typehead.html │ ├── uikit │ │ ├── horizontalForm.html │ │ ├── horizontalFormTooltip.html │ │ ├── stackedForm.html │ │ └── stackedFormTooltip.html │ └── validators.html ├── package.json ├── screenshots │ ├── bootstrap.gif │ ├── foundation.gif │ ├── pure.gif │ ├── semantic.gif │ └── uikit.gif ├── src │ ├── css │ │ └── formValidation.css │ └── js │ │ ├── base.js │ │ ├── framework │ │ ├── bootstrap.js │ │ ├── foundation.js │ │ ├── pure.js │ │ ├── semantic.js │ │ └── uikit.js │ │ ├── helper.js │ │ ├── language │ │ ├── ar_MA.js │ │ ├── be_FR.js │ │ ├── be_NL.js │ │ ├── bg_BG.js │ │ ├── ca_ES.js │ │ ├── cs_CZ.js │ │ ├── da_DK.js │ │ ├── de_DE.js │ │ ├── en_US.js │ │ ├── es_CL.js │ │ ├── es_ES.js │ │ ├── eu_ES.js │ │ ├── fa_IR.js │ │ ├── fi_FI.js │ │ ├── fr_FR.js │ │ ├── gr_EL.js │ │ ├── he_IL.js │ │ ├── hi_IN.js │ │ ├── hu_HU.js │ │ ├── id_ID.js │ │ ├── it_IT.js │ │ ├── ja_JP.js │ │ ├── nl_NL.js │ │ ├── no_NO.js │ │ ├── pl_PL.js │ │ ├── pt_BR.js │ │ ├── pt_PT.js │ │ ├── ro_RO.js │ │ ├── ru_RU.js │ │ ├── sk_SK.js │ │ ├── sq_AL.js │ │ ├── sr_RS.js │ │ ├── sv_SE.js │ │ ├── th_TH.js │ │ ├── tr_TR.js │ │ ├── ua_UA.js │ │ ├── vi_VN.js │ │ ├── zh_CN.js │ │ └── zh_TW.js │ │ └── validator │ │ ├── base64.js │ │ ├── between.js │ │ ├── bic.js │ │ ├── blank.js │ │ ├── callback.js │ │ ├── choice.js │ │ ├── color.js │ │ ├── creditCard.js │ │ ├── cusip.js │ │ ├── cvv.js │ │ ├── date.js │ │ ├── different.js │ │ ├── digits.js │ │ ├── ean.js │ │ ├── ein.js │ │ ├── emailAddress.js │ │ ├── file.js │ │ ├── greaterThan.js │ │ ├── grid.js │ │ ├── hex.js │ │ ├── iban.js │ │ ├── id.js │ │ ├── identical.js │ │ ├── imei.js │ │ ├── imo.js │ │ ├── integer.js │ │ ├── ip.js │ │ ├── isbn.js │ │ ├── isin.js │ │ ├── ismn.js │ │ ├── issn.js │ │ ├── lessThan.js │ │ ├── mac.js │ │ ├── meid.js │ │ ├── notEmpty.js │ │ ├── numeric.js │ │ ├── phone.js │ │ ├── regexp.js │ │ ├── remote.js │ │ ├── rtn.js │ │ ├── sedol.js │ │ ├── siren.js │ │ ├── siret.js │ │ ├── step.js │ │ ├── stringCase.js │ │ ├── stringLength.js │ │ ├── uri.js │ │ ├── uuid.js │ │ ├── vat.js │ │ ├── vin.js │ │ └── zipCode.js ├── test │ ├── helper.js │ ├── index.html │ ├── invalid.json │ ├── spec.js │ ├── spec │ │ ├── api.js │ │ ├── autoFocus.js │ │ ├── container.js │ │ ├── dynamic.js │ │ ├── enable.js │ │ ├── event.js │ │ ├── excluded.js │ │ ├── i18n.js │ │ ├── message.js │ │ ├── row.js │ │ ├── submit.js │ │ ├── transformer.js │ │ ├── validator │ │ │ ├── between.js │ │ │ ├── bic.js │ │ │ ├── callback.js │ │ │ ├── color.js │ │ │ ├── creditCard.js │ │ │ ├── cusip.js │ │ │ ├── date.js │ │ │ ├── ean.js │ │ │ ├── ein.js │ │ │ ├── emailAddress.js │ │ │ ├── greaterThan.js │ │ │ ├── iban.js │ │ │ ├── id.js │ │ │ ├── identical.js │ │ │ ├── imo.js │ │ │ ├── ip.js │ │ │ ├── isbn.js │ │ │ ├── isin.js │ │ │ ├── ismn.js │ │ │ ├── issn.js │ │ │ ├── lessThan.js │ │ │ ├── meid.js │ │ │ ├── phone.js │ │ │ ├── stringLength.js │ │ │ ├── uri.js │ │ │ ├── vat.js │ │ │ └── zipCode.js │ │ └── verbose.js │ └── valid.json └── vendor │ ├── bootstrap │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ └── bootstrap.min.css │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ └── glyphicons-halflings-regular.woff │ └── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ └── npm.js │ ├── jasmine │ ├── boot.js │ ├── console.js │ ├── jasmine-html.js │ ├── jasmine.css │ ├── jasmine.js │ └── jasmine_favicon.png │ └── jquery │ └── jquery.min.js ├── icons.psd ├── indexparallax.html ├── linkedin copy 2.png ├── linkedin copy 3.png ├── linkedin copy.png ├── linkedin logo.png ├── linkedin.png ├── linkedin.xcf ├── logic.png ├── logos ├── bash.png ├── cont.png ├── css.xcf ├── edu.png ├── expe.png ├── github.png ├── googledrive.png ├── googlemapsapi.png ├── html.xcf ├── html2.png ├── logo.png ├── photoshop.png ├── php.png ├── python.png ├── sql.png ├── tolls.png └── work.png └── nginx.png /.gitignore: -------------------------------------------------------------------------------- 1 | # OS X folder meta 2 | .DS_Store 3 | .idea 4 | 5 | # Bower and npm packages 6 | bower_components 7 | node_modules 8 | 9 | # Dist and temp folder 10 | dist 11 | src/assets/js 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # xaviro.com 2 | My Portfolio 3 | 4 |  5 | *** 6 | **Key Technologies Used:** HTML, CSS, Javascript, AngularJS, Bootstrap 7 | *** 8 | [**Go to Site**](http://www.xaviro.com) -------------------------------------------------------------------------------- /comps/devices.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrochoa/PortfolioBuild/16df471bd4b5fd4b866971bb81acb8f168a75c56/comps/devices.ai -------------------------------------------------------------------------------- /comps/intro.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrochoa/PortfolioBuild/16df471bd4b5fd4b866971bb81acb8f168a75c56/comps/intro.ai -------------------------------------------------------------------------------- /comps/intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrochoa/PortfolioBuild/16df471bd4b5fd4b866971bb81acb8f168a75c56/comps/intro.png -------------------------------------------------------------------------------- /comps/rosie.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrochoa/PortfolioBuild/16df471bd4b5fd4b866971bb81acb8f168a75c56/comps/rosie.psd -------------------------------------------------------------------------------- /comps/skills.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xrochoa/PortfolioBuild/16df471bd4b5fd4b866971bb81acb8f168a75c56/comps/skills.ai -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xaviro", 3 | "version": "2.0.0", 4 | "description": "My Portfolio", 5 | "main": "server.js", 6 | "engines": { 7 | "node": ">=14.5.0" 8 | }, 9 | "scripts": { 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "keywords": [ 13 | "angular", 14 | "bootstrap", 15 | "node", 16 | "mongodb" 17 | ], 18 | "author": "Xavier Reyes Ochoa", 19 | "license": "MIT", 20 | "devDependencies": { 21 | "browser-sync": "^2.26.13", 22 | "del": "^2.2.2", 23 | "gulp": "^4.0.2", 24 | "gulp-autoprefixer": "^3.1.1", 25 | "gulp-clean-css": "^4.3.0", 26 | "gulp-compile-handlebars": "^0.6.1", 27 | "gulp-htmlmin": "^5.0.1", 28 | "gulp-imagemin": "^7.1.0", 29 | "gulp-include": "^2.3.1", 30 | "gulp-inline": "^0.1.3", 31 | "gulp-jshint": "^2.1.0", 32 | "gulp-sass": "^4.1.0", 33 | "gulp-uglify": "^2.0.0", 34 | "imagemin-gifsicle": "^7.0.0", 35 | "imagemin-jpegtran": "^7.0.0", 36 | "imagemin-optipng": "^8.0.0", 37 | "imagemin-svgo": "^8.0.0", 38 | "jshint": "^2.12.0" 39 | }, 40 | "dependencies": { 41 | "bootstrap": "^3.4.1", 42 | "bootstrap-sass": "^3.3.7", 43 | "gsap": "^3.6.0", 44 | "jquery": "^3.5.1", 45 | "video.js": "^5.11.7" 46 | }, 47 | "browserslist": [ 48 | "Android 2.3", 49 | "Android >= 4", 50 | "Chrome >= 20", 51 | "Firefox >= 24", 52 | "Explorer >= 8", 53 | "iOS >= 6", 54 | "Opera >= 12", 55 | "Safari >= 6" 56 | ] 57 | } 58 | -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | 3 | function serve(build, dir, port) { 4 | 5 | var server = new express(); 6 | 7 | server.listen(port, function() { 8 | server.use(express.static(__dirname + dir)); 9 | console.log('Serving ' + build + ' at http://localhost:' + port); 10 | }); 11 | 12 | } 13 | 14 | serve('source', '/src', 4000); 15 | serve('distribution', '/dist', 8000); 16 | -------------------------------------------------------------------------------- /src/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |Sorry you couldn't find what you were looking for!
45 |{{this.desc}}
18 |This is a simple page showing the data you have just submitted
13 | 14 |Full-Stack JavaScript Developer and Designer with an engineering background keen on contributing with logical thinking and professional experience toward creating great modern responsive web apps
12 |Full-Stack JavaScript Developer and Designer with an engineering background keen on contributing with logical thinking and professional experience toward creating great modern responsive web apps
42 |Full-Stack JavaScript Developer and Designer with an engineering background keen on contributing with logical thinking and professional experience toward creating great modern responsive web apps
55 |