From 6b17ae3c7a5886529e4754408f450c860c942d6c Mon Sep 17 00:00:00 2001 From: Andrew Abogado Date: Wed, 4 Feb 2015 12:08:24 +0800 Subject: [PATCH] Generate "grunt build" files for front-end. Any static images, scripts and stylesheets will linked from the generated "dist" directory. --- src/main/webapp/static/Gruntfile.js | 44 +- src/main/webapp/static/dist/.htaccess | 935 ++++++++++++++++++ src/main/webapp/static/dist/dashboard.html | 8 + src/main/webapp/static/dist/discover.html | 8 + src/main/webapp/static/dist/favicon.ico | Bin 0 -> 15086 bytes src/main/webapp/static/dist/images/avatar.jpg | Bin 0 -> 5537 bytes src/main/webapp/static/dist/images/logo.png | Bin 0 -> 1321 bytes .../static/dist/images/owner-default.png | Bin 0 -> 30316 bytes .../webapp/static/dist/images/pet-default.png | Bin 0 -> 26137 bytes .../webapp/static/dist/images/pet-small.png | Bin 0 -> 2656 bytes .../dist/images/veterinarian-default.jpg | Bin 0 -> 4585 bytes src/main/webapp/static/dist/index.html | 8 + src/main/webapp/static/dist/robots.txt | 3 + src/main/webapp/static/dist/scripts/main.js | 1 + src/main/webapp/static/dist/scripts/vendor.js | 3 + src/main/webapp/static/dist/show.html | 8 + src/main/webapp/static/dist/styles/main.css | 1 + 17 files changed, 997 insertions(+), 22 deletions(-) create mode 100644 src/main/webapp/static/dist/.htaccess create mode 100644 src/main/webapp/static/dist/dashboard.html create mode 100644 src/main/webapp/static/dist/discover.html create mode 100644 src/main/webapp/static/dist/favicon.ico create mode 100644 src/main/webapp/static/dist/images/avatar.jpg create mode 100644 src/main/webapp/static/dist/images/logo.png create mode 100644 src/main/webapp/static/dist/images/owner-default.png create mode 100644 src/main/webapp/static/dist/images/pet-default.png create mode 100644 src/main/webapp/static/dist/images/pet-small.png create mode 100644 src/main/webapp/static/dist/images/veterinarian-default.jpg create mode 100644 src/main/webapp/static/dist/index.html create mode 100644 src/main/webapp/static/dist/robots.txt create mode 100644 src/main/webapp/static/dist/scripts/main.js create mode 100644 src/main/webapp/static/dist/scripts/vendor.js create mode 100644 src/main/webapp/static/dist/show.html create mode 100644 src/main/webapp/static/dist/styles/main.css diff --git a/src/main/webapp/static/Gruntfile.js b/src/main/webapp/static/Gruntfile.js index 99758f3a6..c619361a0 100644 --- a/src/main/webapp/static/Gruntfile.js +++ b/src/main/webapp/static/Gruntfile.js @@ -310,28 +310,28 @@ module.exports = function(grunt) { // By default, your `index.html`'s will take care // of minification. These next options are pre-configured if you do not // wish to use the Usemin blocks. - // cssmin: { - // dist: { - // files: { - // '<%= config.dist %>/styles/main.css': [ - // '.tmp/styles/{,*/}*.css', - // '<%= config.app %>/styles/{,*/}*.css' - // ] - // } - // } - // }, - // uglify: { - // dist: { - // files: { - // '<%= config.dist %>/scripts/scripts.js': [ - // '<%= config.dist %>/scripts/scripts.js' - // ] - // } - // } - // }, - // concat: { - // dist: {} - // }, + cssmin: { + dist: { + files: { + '<%= config.dist %>/styles/main.css': [ + '.tmp/styles/{,*/}*.css', + '<%= config.app %>/styles/{,*/}*.css' + ] + } + } + }, + uglify: { + dist: { + files: { + '<%= config.dist %>/scripts/scripts.js': [ + '<%= config.dist %>/scripts/scripts.js' + ] + } + } + }, + concat: { + dist: {} + }, // Copies remaining files to places other tasks can use copy: { diff --git a/src/main/webapp/static/dist/.htaccess b/src/main/webapp/static/dist/.htaccess new file mode 100644 index 000000000..39e27ed14 --- /dev/null +++ b/src/main/webapp/static/dist/.htaccess @@ -0,0 +1,935 @@ +# Apache Server Configs v2.11.0 | MIT License +# https://github.com/h5bp/server-configs-apache + +# (!) Using `.htaccess` files slows down Apache, therefore, if you have +# access to the main server configuration file (which is usually called +# `httpd.conf`), you should add this logic there. +# +# https://httpd.apache.org/docs/current/howto/htaccess.html. + +# ###################################################################### +# # CROSS-ORIGIN # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Cross-origin requests | +# ---------------------------------------------------------------------- + +# Allow cross-origin requests. +# +# https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS +# http://enable-cors.org/ +# http://www.w3.org/TR/cors/ + +# +# Header set Access-Control-Allow-Origin "*" +# + +# ---------------------------------------------------------------------- +# | Cross-origin images | +# ---------------------------------------------------------------------- + +# Send the CORS header for images when browsers request it. +# +# https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image +# https://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html + + + + + SetEnvIf Origin ":" IS_CORS + Header set Access-Control-Allow-Origin "*" env=IS_CORS + + + + +# ---------------------------------------------------------------------- +# | Cross-origin web fonts | +# ---------------------------------------------------------------------- + +# Allow cross-origin access to web fonts. + + + + Header set Access-Control-Allow-Origin "*" + + + +# ---------------------------------------------------------------------- +# | Cross-origin resource timing | +# ---------------------------------------------------------------------- + +# Allow cross-origin access to the timing information for all resources. +# +# If a resource isn't served with a `Timing-Allow-Origin` header that +# would allow its timing information to be shared with the document, +# some of the attributes of the `PerformanceResourceTiming` object will +# be set to zero. +# +# http://www.w3.org/TR/resource-timing/ +# http://www.stevesouders.com/blog/2014/08/21/resource-timing-practical-tips/ + +# +# Header set Timing-Allow-Origin: "*" +# + + +# ###################################################################### +# # ERRORS # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Custom error messages/pages | +# ---------------------------------------------------------------------- + +# Customize what Apache returns to the client in case of an error. +# https://httpd.apache.org/docs/current/mod/core.html#errordocument + +# ErrorDocument 404 /404.html + +# ---------------------------------------------------------------------- +# | Error prevention | +# ---------------------------------------------------------------------- + +# Disable the pattern matching based on filenames. +# +# This setting prevents Apache from returning a 404 error as the result +# of a rewrite when the directory with the same name does not exist. +# +# https://httpd.apache.org/docs/current/content-negotiation.html#multiviews + +Options -MultiViews + + +# ###################################################################### +# # INTERNET EXPLORER # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Document modes | +# ---------------------------------------------------------------------- + +# Force Internet Explorer 8/9/10 to render pages in the highest mode +# available in the various cases when it may not. +# +# https://hsivonen.fi/doctype/#ie8 +# +# (!) Starting with Internet Explorer 11, document modes are deprecated. +# If your business still relies on older web apps and services that were +# designed for older versions of Internet Explorer, you might want to +# consider enabling `Enterprise Mode` throughout your company. +# +# http://msdn.microsoft.com/en-us/library/ie/bg182625.aspx#docmode +# http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx + + + Header set X-UA-Compatible "IE=edge" + # `mod_headers` cannot match based on the content-type, however, + # the `X-UA-Compatible` response header should be send only for + # HTML documents and not for the other resources. + + Header unset X-UA-Compatible + + + +# ---------------------------------------------------------------------- +# | Iframes cookies | +# ---------------------------------------------------------------------- + +# Allow cookies to be set from iframes in Internet Explorer. +# +# http://msdn.microsoft.com/en-us/library/ms537343.aspx +# http://www.w3.org/TR/2000/CR-P3P-20001215/ + +# +# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"" +# + + +# ###################################################################### +# # MEDIA TYPES AND CHARACTER ENCODINGS # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Media types | +# ---------------------------------------------------------------------- + +# Serve resources with the proper media types (f.k.a. MIME types). +# +# https://www.iana.org/assignments/media-types/media-types.xhtml +# https://httpd.apache.org/docs/current/mod/mod_mime.html#addtype + + + + # Data interchange + + AddType application/json json map topojson + AddType application/ld+json jsonld + AddType application/vnd.geo+json geojson + AddType application/xml atom rdf rss xml + + + # JavaScript + + # Normalize to standard type. + # https://tools.ietf.org/html/rfc4329#section-7.2 + + AddType application/javascript js + + + # Manifest files + + # If you are providing a web application manifest file (see + # the specification: https://w3c.github.io/manifest/), it is + # recommended that you serve it with the `application/manifest+json` + # media type. + # + # Because the web application manifest file doesn't have its + # own unique file extension, you can set its media type either + # by matching: + # + # 1) the exact location of the file (this can be done using a + # directive such as ``, but it will NOT work in + # the `.htaccess` file, so you will have to do it in the main + # server configuration file or inside of a `` + # container) + # + # e.g.: + # + # + # AddType application/manifest+json json + # + # + # 2) the filename (this can be problematic as you will need to + # ensure that you don't have any other file with the same name + # as the one you gave to your web application manifest file) + # + # e.g.: + # + # + # AddType application/manifest+json json + # + + AddType application/x-web-app-manifest+json webapp + AddType text/cache-manifest appcache manifest + + + # Media files + + AddType audio/mp4 f4a f4b m4a + AddType audio/ogg oga ogg opus + AddType image/bmp bmp + AddType image/webp webp + AddType video/mp4 f4v f4p m4v mp4 + AddType video/ogg ogv + AddType video/webm webm + AddType video/x-flv flv + AddType image/svg+xml svg svgz + + # Serving `.ico` image files with a different media type + # prevents Internet Explorer from displaying then as images: + # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee + + AddType image/x-icon cur ico + + + # Web fonts + + AddType application/font-woff woff + AddType application/font-woff2 woff2 + AddType application/vnd.ms-fontobject eot + + # Browsers usually ignore the font media types and simply sniff + # the bytes to figure out the font type. + # https://mimesniff.spec.whatwg.org/#matching-a-font-type-pattern + # + # However, Blink and WebKit based browsers will show a warning + # in the console if the following font types are served with any + # other media types. + + AddType application/x-font-ttf ttc ttf + AddType font/opentype otf + + + # Other + + AddType application/octet-stream safariextz + AddType application/x-bb-appworld bbaw + AddType application/x-chrome-extension crx + AddType application/x-opera-extension oex + AddType application/x-xpinstall xpi + AddType text/vcard vcard vcf + AddType text/vnd.rim.location.xloc xloc + AddType text/vtt vtt + AddType text/x-component htc + + + +# ---------------------------------------------------------------------- +# | Character encodings | +# ---------------------------------------------------------------------- + +# Serve all resources labeled as `text/html` or `text/plain` +# with the media type `charset` parameter set to `UTF-8`. +# +# https://httpd.apache.org/docs/current/mod/core.html#adddefaultcharset + +AddDefaultCharset utf-8 + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Serve the following file types with the media type `charset` +# parameter set to `UTF-8`. +# +# https://httpd.apache.org/docs/current/mod/mod_mime.html#addcharset + + + AddCharset utf-8 .atom \ + .bbaw \ + .css \ + .geojson \ + .js \ + .json \ + .jsonld \ + .rdf \ + .rss \ + .topojson \ + .vtt \ + .webapp \ + .xloc \ + .xml + + + +# ###################################################################### +# # REWRITES # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Rewrite engine | +# ---------------------------------------------------------------------- + +# (1) Turn on the rewrite engine (this is necessary in order for +# the `RewriteRule` directives to work). +# +# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#RewriteEngine +# +# (2) Enable the `FollowSymLinks` option if it isn't already. +# +# https://httpd.apache.org/docs/current/mod/core.html#options +# +# (3) If your web host doesn't allow the `FollowSymlinks` option, +# you need to comment it out or remove it, and then uncomment +# the `Options +SymLinksIfOwnerMatch` line (4), but be aware +# of the performance impact. +# +# https://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks +# +# (4) Some cloud hosting services will require you set `RewriteBase`. +# +# http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-modrewrite-not-working-on-my-site +# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase +# +# (5) Depending on how your server is set up, you may also need to +# use the `RewriteOptions` directive to enable some options for +# the rewrite engine. +# +# https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions + + + + # (1) + RewriteEngine On + + # (2) + Options +FollowSymlinks + + # (3) + # Options +SymLinksIfOwnerMatch + + # (4) + # RewriteBase / + + # (5) + # RewriteOptions + + + +# ---------------------------------------------------------------------- +# | Forcing `https://` | +# ---------------------------------------------------------------------- + +# Redirect from the `http://` to the `https://` version of the URL. +# https://wiki.apache.org/httpd/RewriteHTTPToHTTPS + +# +# RewriteEngine On +# RewriteCond %{HTTPS} !=on +# RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] +# + +# ---------------------------------------------------------------------- +# | Suppressing / Forcing the `www.` at the beginning of URLs | +# ---------------------------------------------------------------------- + +# The same content should never be available under two different +# URLs, especially not with and without `www.` at the beginning. +# This can cause SEO problems (duplicate content), and therefore, +# you should choose one of the alternatives and redirect the other +# one. +# +# By default `Option 1` (no `www.`) is activated. +# http://no-www.org/faq.php?q=class_b +# +# If you would prefer to use `Option 2`, just comment out all the +# lines from `Option 1` and uncomment the ones from `Option 2`. +# +# (!) NEVER USE BOTH RULES AT THE SAME TIME! + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Option 1: rewrite www.example.com → example.com + + + RewriteEngine On + RewriteCond %{HTTPS} !=on + RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] + RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L] + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Option 2: rewrite example.com → www.example.com +# +# Be aware that the following might not be a good idea if you use "real" +# subdomains for certain parts of your website. + +# +# RewriteEngine On +# RewriteCond %{HTTPS} !=on +# RewriteCond %{HTTP_HOST} !^www\. [NC] +# RewriteCond %{SERVER_ADDR} !=127.0.0.1 +# RewriteCond %{SERVER_ADDR} !=::1 +# RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] +# + + +# ###################################################################### +# # SECURITY # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Clickjacking | +# ---------------------------------------------------------------------- + +# Protect website against clickjacking. +# +# The example below sends the `X-Frame-Options` response header with +# the value `DENY`, informing browsers not to display the content of +# the web page in any frame. +# +# This might not be the best setting for everyone. You should read +# about the other two possible values the `X-Frame-Options` header +# field can have: `SAMEORIGIN` and `ALLOW-FROM`. +# https://tools.ietf.org/html/rfc7034#section-2.1. +# +# Keep in mind that while you could send the `X-Frame-Options` header +# for all of your website’s pages, this has the potential downside that +# it forbids even non-malicious framing of your content (e.g.: when +# users visit your website using a Google Image Search results page). +# +# Nonetheless, you should ensure that you send the `X-Frame-Options` +# header for all pages that allow a user to make a state changing +# operation (e.g: pages that contain one-click purchase links, checkout +# or bank-transfer confirmation pages, pages that make permanent +# configuration changes, etc.). +# +# Sending the `X-Frame-Options` header can also protect your website +# against more than just clickjacking attacks: +# https://cure53.de/xfo-clickjacking.pdf. +# +# https://tools.ietf.org/html/rfc7034 +# http://blogs.msdn.com/b/ieinternals/archive/2010/03/30/combating-clickjacking-with-x-frame-options.aspx +# https://www.owasp.org/index.php/Clickjacking + +# +# Header set X-Frame-Options "DENY" +# # `mod_headers` cannot match based on the content-type, however, +# # the `X-Frame-Options` response header should be send only for +# # HTML documents and not for the other resources. +# +# Header unset X-Frame-Options +# +# + +# ---------------------------------------------------------------------- +# | Content Security Policy (CSP) | +# ---------------------------------------------------------------------- + +# Mitigate the risk of cross-site scripting and other content-injection +# attacks. +# +# This can be done by setting a `Content Security Policy` which +# whitelists trusted sources of content for your website. +# +# The example header below allows ONLY scripts that are loaded from the +# current website's origin (no inline scripts, no CDN, etc). That almost +# certainly won't work as-is for your website! +# +# For more details on how to craft a reasonable policy for your website, +# read: http://www.html5rocks.com/en/tutorials/security/content-security-policy/ +# (or the specification: http://www.w3.org/TR/CSP11/). Also, to make +# things easier, you can use an online CSP header generator such as: +# http://cspisawesome.com/. + +# +# Header set Content-Security-Policy "script-src 'self'; object-src 'self'" +# # `mod_headers` cannot match based on the content-type, however, +# # the `Content-Security-Policy` response header should be send +# # only for HTML documents and not for the other resources. +# +# Header unset Content-Security-Policy +# +# + +# ---------------------------------------------------------------------- +# | File access | +# ---------------------------------------------------------------------- + +# Block access to directories without a default document. +# +# You should leave the following uncommented, as you shouldn't allow +# anyone to surf through every directory on your server (which may +# includes rather private places such as the CMS's directories). + + + Options -Indexes + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to all hidden files and directories with the exception of +# the visible content from within the `/.well-known/` hidden directory. +# +# These types of files usually contain user preferences or the preserved +# state of an utility, and can include rather private places like, for +# example, the `.git` or `.svn` directories. +# +# The `/.well-known/` directory represents the standard (RFC 5785) path +# prefix for "well-known locations" (e.g.: `/.well-known/manifest.json`, +# `/.well-known/keybase.txt`), and therefore, access to its visible +# content should not be blocked. +# +# https://www.mnot.net/blog/2010/04/07/well-known +# https://tools.ietf.org/html/rfc5785 + + + RewriteEngine On + RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC] + RewriteCond %{SCRIPT_FILENAME} -d [OR] + RewriteCond %{SCRIPT_FILENAME} -f + RewriteRule "(^|/)\." - [F] + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to files that can expose sensitive information. +# +# By default, block access to backup and source files that may be +# left by some text editors and can pose a security risk when anyone +# has access to them. +# +# http://feross.org/cmsploit/ +# +# (!) Update the `` regular expression from below to +# include any files that might end up on your production server and +# can expose sensitive information about your website. These files may +# include: configuration files, files that contain metadata about the +# project (e.g.: project dependencies), build scripts, etc.. + + + + # Apache < 2.3 + + Order allow,deny + Deny from all + Satisfy All + + + # Apache ≥ 2.3 + + Require all denied + + + + +# ---------------------------------------------------------------------- +# | HTTP Strict Transport Security (HSTS) | +# ---------------------------------------------------------------------- + +# Force client-side SSL redirection. +# +# If a user types `example.com` in their browser, even if the server +# redirects them to the secure version of the website, that still leaves +# a window of opportunity (the initial HTTP connection) for an attacker +# to downgrade or redirect the request. +# +# The following header ensures that browser will ONLY connect to your +# server via HTTPS, regardless of what the users type in the browser's +# address bar. +# +# (!) Remove the `includeSubDomains` optional directive if the website's +# subdomains are not using HTTPS. +# +# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/ +# https://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14#section-6.1 +# http://blogs.msdn.com/b/ieinternals/archive/2014/08/18/hsts-strict-transport-security-attacks-mitigations-deployment-https.aspx + +# +# Header set Strict-Transport-Security "max-age=16070400; includeSubDomains" +# + +# ---------------------------------------------------------------------- +# | Reducing MIME type security risks | +# ---------------------------------------------------------------------- + +# Prevent some browsers from MIME-sniffing the response. +# +# This reduces exposure to drive-by download attacks and cross-origin +# data leaks, and should be left uncommented, especially if the server +# is serving user-uploaded content or content that could potentially be +# treated as executable by the browser. +# +# http://www.slideshare.net/hasegawayosuke/owasp-hasegawa +# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx +# http://msdn.microsoft.com/en-us/library/ie/gg622941.aspx +# https://mimesniff.spec.whatwg.org/ + + + Header set X-Content-Type-Options "nosniff" + + +# ---------------------------------------------------------------------- +# | Reflected Cross-Site Scripting (XSS) attacks | +# ---------------------------------------------------------------------- + +# (1) Try to re-enable the cross-site scripting (XSS) filter built +# into most web browsers. +# +# The filter is usually enabled by default, but in some cases it +# may be disabled by the user. However, in Internet Explorer for +# example, it can be re-enabled just by sending the +# `X-XSS-Protection` header with the value of `1`. +# +# (2) Prevent web browsers from rendering the web page if a potential +# reflected (a.k.a non-persistent) XSS attack is detected by the +# filter. +# +# By default, if the filter is enabled and browsers detect a +# reflected XSS attack, they will attempt to block the attack +# by making the smallest possible modifications to the returned +# web page. +# +# Unfortunately, in some browsers (e.g.: Internet Explorer), +# this default behavior may allow the XSS filter to be exploited, +# thereby, it's better to inform browsers to prevent the rendering +# of the page altogether, instead of attempting to modify it. +# +# http://hackademix.net/2009/11/21/ies-xss-filter-creates-xss-vulnerabilities +# +# (!) Do not rely on the XSS filter to prevent XSS attacks! Ensure that +# you are taking all possible measures to prevent XSS attacks, the +# most obvious being: validating and sanitizing your website's inputs. +# +# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx +# http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx +# https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 + +# +# # (1) (2) +# Header set X-XSS-Protection "1; mode=block" +# # `mod_headers` cannot match based on the content-type, however, +# # the `X-XSS-Protection` response header should be send only for +# # HTML documents and not for the other resources. +# +# Header unset X-XSS-Protection +# +# + +# ---------------------------------------------------------------------- +# | Server software information | +# ---------------------------------------------------------------------- + +# Prevent Apache from sending in the `Server` response header its +# exact version number, the description of the generic OS-type or +# information about its compiled-in modules. +# +# (!) The `ServerTokens` directive will only work in the main server +# configuration file, so don't try to enable it in the `.htaccess` file! +# +# https://httpd.apache.org/docs/current/mod/core.html#servertokens + +# ServerTokens Prod + + +# ###################################################################### +# # WEB PERFORMANCE # +# ###################################################################### + +# ---------------------------------------------------------------------- +# | Compression | +# ---------------------------------------------------------------------- + + + + # Force compression for mangled `Accept-Encoding` request headers + # https://developer.yahoo.com/blogs/ydn/pushing-beyond-gzipping-25601.html + + + + SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding + RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding + + + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + # Compress all output labeled with one of the following media types. + # + # (!) For Apache versions below version 2.3.7 you don't need to + # enable `mod_filter` and can remove the `` + # and `` lines as `AddOutputFilterByType` is still in + # the core directives. + # + # https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype + + + AddOutputFilterByType DEFLATE "application/atom+xml" \ + "application/javascript" \ + "application/json" \ + "application/ld+json" \ + "application/manifest+json" \ + "application/rdf+xml" \ + "application/rss+xml" \ + "application/schema+json" \ + "application/vnd.geo+json" \ + "application/vnd.ms-fontobject" \ + "application/x-font-ttf" \ + "application/x-javascript" \ + "application/x-web-app-manifest+json" \ + "application/xhtml+xml" \ + "application/xml" \ + "font/eot" \ + "font/opentype" \ + "image/bmp" \ + "image/svg+xml" \ + "image/vnd.microsoft.icon" \ + "image/x-icon" \ + "text/cache-manifest" \ + "text/css" \ + "text/html" \ + "text/javascript" \ + "text/plain" \ + "text/vcard" \ + "text/vnd.rim.location.xloc" \ + "text/vtt" \ + "text/x-component" \ + "text/x-cross-domain-policy" \ + "text/xml" + + + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + # Map the following filename extensions to the specified + # encoding type in order to make Apache serve the file types + # with the appropriate `Content-Encoding` response header + # (do note that this will NOT make Apache compress them!). + # + # If these files types would be served without an appropriate + # `Content-Enable` response header, client applications (e.g.: + # browsers) wouldn't know that they first need to uncompress + # the response, and thus, wouldn't be able to understand the + # content. + # + # https://httpd.apache.org/docs/current/mod/mod_mime.html#addencoding + + + AddEncoding gzip svgz + + + + +# ---------------------------------------------------------------------- +# | Content transformation | +# ---------------------------------------------------------------------- + +# Prevent intermediate caches or proxies (e.g.: such as the ones +# used by mobile network providers) from modifying the website's +# content. +# +# https://tools.ietf.org/html/rfc2616#section-14.9.5 +# +# (!) If you are using `mod_pagespeed`, please note that setting +# the `Cache-Control: no-transform` response header will prevent +# `PageSpeed` from rewriting `HTML` files, and, if the +# `ModPagespeedDisableRewriteOnNoTransform` directive isn't set +# to `off`, also from rewriting other resources. +# +# https://developers.google.com/speed/pagespeed/module/configuration#notransform + +# +# Header merge Cache-Control "no-transform" +# + +# ---------------------------------------------------------------------- +# | ETags | +# ---------------------------------------------------------------------- + +# Remove `ETags` as resources are sent with far-future expires headers. +# +# https://developer.yahoo.com/performance/rules.html#etags +# https://tools.ietf.org/html/rfc7232#section-2.3 + +# `FileETag None` doesn't work in all cases. + + Header unset ETag + + +FileETag None + +# ---------------------------------------------------------------------- +# | Expires headers | +# ---------------------------------------------------------------------- + +# Serve resources with far-future expires headers. +# +# (!) If you don't control versioning with filename-based +# cache busting, you should consider lowering the cache times +# to something like one week. +# +# https://httpd.apache.org/docs/current/mod/mod_expires.html + + + + ExpiresActive on + ExpiresDefault "access plus 1 month" + + # CSS + ExpiresByType text/css "access plus 1 year" + + # Data interchange + ExpiresByType application/atom+xml "access plus 1 hour" + ExpiresByType application/rdf+xml "access plus 1 hour" + ExpiresByType application/rss+xml "access plus 1 hour" + + ExpiresByType application/json "access plus 0 seconds" + ExpiresByType application/ld+json "access plus 0 seconds" + ExpiresByType application/schema+json "access plus 0 seconds" + ExpiresByType application/vnd.geo+json "access plus 0 seconds" + ExpiresByType application/xml "access plus 0 seconds" + ExpiresByType text/xml "access plus 0 seconds" + + # Favicon (cannot be renamed!) and cursor images + ExpiresByType image/vnd.microsoft.icon "access plus 1 week" + ExpiresByType image/x-icon "access plus 1 week" + + # HTML + ExpiresByType text/html "access plus 0 seconds" + + # JavaScript + ExpiresByType application/javascript "access plus 1 year" + ExpiresByType application/x-javascript "access plus 1 year" + ExpiresByType text/javascript "access plus 1 year" + + # Manifest files + ExpiresByType application/manifest+json "access plus 1 year" + + ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" + ExpiresByType text/cache-manifest "access plus 0 seconds" + + # Media files + ExpiresByType audio/ogg "access plus 1 month" + ExpiresByType image/bmp "access plus 1 month" + ExpiresByType image/gif "access plus 1 month" + ExpiresByType image/jpeg "access plus 1 month" + ExpiresByType image/png "access plus 1 month" + ExpiresByType image/svg+xml "access plus 1 month" + ExpiresByType video/mp4 "access plus 1 month" + ExpiresByType video/ogg "access plus 1 month" + ExpiresByType video/webm "access plus 1 month" + + # Web fonts + + # Embedded OpenType (EOT) + ExpiresByType application/vnd.ms-fontobject "access plus 1 month" + ExpiresByType font/eot "access plus 1 month" + + # OpenType + ExpiresByType font/opentype "access plus 1 month" + + # TrueType + ExpiresByType application/x-font-ttf "access plus 1 month" + + # Web Open Font Format (WOFF) 1.0 + ExpiresByType application/font-woff "access plus 1 month" + ExpiresByType application/x-font-woff "access plus 1 month" + ExpiresByType font/woff "access plus 1 month" + + # Web Open Font Format (WOFF) 2.0 + ExpiresByType application/font-woff2 "access plus 1 month" + + # Other + ExpiresByType text/x-cross-domain-policy "access plus 1 week" + + + +# ---------------------------------------------------------------------- +# | File concatenation | +# ---------------------------------------------------------------------- + +# Allow concatenation from within specific files. +# +# e.g.: +# +# If you have the following lines in a file called, for +# example, `main.combined.js`: +# +# +# +# +# Apache will replace those lines with the content of the +# specified files. + +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES application/javascript \ +# application/x-javascript \ +# text/javascript +# SetOutputFilter INCLUDES +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES text/css +# SetOutputFilter INCLUDES +# +# + +# ---------------------------------------------------------------------- +# | Filename-based cache busting | +# ---------------------------------------------------------------------- + +# If you're not using a build process to manage your filename version +# revving, you might want to consider enabling the following directives +# to route all requests such as `/style.12345.css` to `/style.css`. +# +# To understand why this is important and even a better solution than +# using something like `*.css?v231`, please see: +# http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/ + +# +# RewriteEngine On +# RewriteCond %{REQUEST_FILENAME} !-f +# RewriteRule ^(.+)\.(\d+)\.(bmp|css|cur|gif|ico|jpe?g|js|png|svgz?|webp)$ $1.$3 [L] +# diff --git a/src/main/webapp/static/dist/dashboard.html b/src/main/webapp/static/dist/dashboard.html new file mode 100644 index 000000000..7785189b2 --- /dev/null +++ b/src/main/webapp/static/dist/dashboard.html @@ -0,0 +1,8 @@ + Pet Clinic - Dashboard

Welcome, John Doe

When you’re ready, you may start adding a new pet owner or continue browsing.

Browse Owners

Generic placeholder image

Eduardo Rodriguez

2693 Commerce St., McFarland

+6085558763

  • Generic placeholder image
Generic placeholder image

Eduardo Rodriguez

2693 Commerce St., McFarland

+6085558763

  • Generic placeholder image
Generic placeholder image

Eduardo Rodriguez

2693 Commerce St., McFarland

+6085558763

  • Generic placeholder image
Generic placeholder image

Eduardo Rodriguez

2693 Commerce St., McFarland

+6085558763

  • Generic placeholder image

Pets

Generic placeholder image

Basil

08 August 2012

Hamster

Generic placeholder image

Basil

08 August 2012

Hamster

Generic placeholder image

Basil

08 August 2012

Hamster

Generic placeholder image

Basil

08 August 2012

Hamster

Veterinarians

Generic placeholder image

Helen Leary

+6085558763

Surgery

Generic placeholder image

Helen Leary

+6085558763

Surgery

Generic placeholder image

Helen Leary

+6085558763

Surgery

Generic placeholder image

Helen Leary

+6085558763

Surgery

\ No newline at end of file diff --git a/src/main/webapp/static/dist/discover.html b/src/main/webapp/static/dist/discover.html new file mode 100644 index 000000000..9e8f2f43e --- /dev/null +++ b/src/main/webapp/static/dist/discover.html @@ -0,0 +1,8 @@ + Pet Clinic - Discover Pet Owners on your Neigborhood

Discover Pet Owners

Helping you discover pet owners near you and connect.

Generic placeholder image

Thumbnail label

Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum.

Generic placeholder image

Thumbnail label

Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane.

Generic placeholder image

Thumbnail label

Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum.

Generic placeholder image

Thumbnail label

Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane.

Generic placeholder image

Thumbnail label

Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum.

Generic placeholder image

Thumbnail label

Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane.

Generic placeholder image

Thumbnail label

Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum.

Generic placeholder image

Thumbnail label

Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane.

Over 40,000 pet owners trust us. Register now. It's Free forever!

Use it as a starting point to create something more unique.

Business Hours

Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna.

Our Location

Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.

Questions or comments

Cras mattis consectetur purus sit amet fermentum.

Drop us a line

\ No newline at end of file diff --git a/src/main/webapp/static/dist/favicon.ico b/src/main/webapp/static/dist/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..04c64a9d8eb26f330d0e1b6c6aa458020659a7fa GIT binary patch literal 15086 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 L$?KerE3fpVJy literal 0 HcmV?d00001 diff --git a/src/main/webapp/static/dist/images/avatar.jpg b/src/main/webapp/static/dist/images/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b3373bb3ac0811bc916e30b0e025dbb066e55299 GIT binary patch literal 5537 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 JF6*2UngFl#7?A(~ literal 0 HcmV?d00001 diff --git a/src/main/webapp/static/dist/images/owner-default.png b/src/main/webapp/static/dist/images/owner-default.png new file mode 100644 index 0000000000000000000000000000000000000000..f1691bbe06262e6c293422f2b6aa9048cbbb4602 GIT binary patch literal 30316 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 P00000NkvXXu0mjfkl9_{ literal 0 HcmV?d00001 diff --git a/src/main/webapp/static/dist/images/pet-default.png b/src/main/webapp/static/dist/images/pet-default.png new file mode 100644 index 0000000000000000000000000000000000000000..20b986bd70efd88bfd0b1ca24ff49df76b31dbf4 GIT binary patch literal 26137 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 literal 0 HcmV?d00001 diff --git a/src/main/webapp/static/dist/images/pet-small.png b/src/main/webapp/static/dist/images/pet-small.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc6928b3f7368bd2586aaa34587aa62cc95beb2 GIT binary patch literal 2656 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 literal 0 HcmV?d00001 diff --git a/src/main/webapp/static/dist/index.html b/src/main/webapp/static/dist/index.html new file mode 100644 index 000000000..202c97b5d --- /dev/null +++ b/src/main/webapp/static/dist/index.html @@ -0,0 +1,8 @@ + Pet Clinic

Pet care for the People who love them

PetClinic is here to enhance people's relationships with their pets

Learn more

Our Veterinarians

A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth.

Generic placeholder image

Thumbnail label

Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.

Generic placeholder image

Thumbnail label

Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum.

Generic placeholder image

Thumbnail label

Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane.

Generic placeholder image

Thumbnail label

Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum.

Generic placeholder image

Thumbnail label

Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane.

Generic placeholder image

Thumbnail label

The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli.

Generic placeholder image

Services One

A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth.

Learn more »

Services Two

A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth.

Learn more »

Generic placeholder image
Generic placeholder image

Services Three

A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth.

Learn more »

What our customers are saying.

Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar.

Generic placeholder image

Client One

Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna.

Generic placeholder image

Client Two

Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.

Generic placeholder image

Client Three

Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

Trusted by some of the world's smartest companies

Companies placeholder image
Companies placeholder image
Companies placeholder image
Companies placeholder image
Companies placeholder image
Companies placeholder image

Over 40,000 pet owners trust us.

Use it as a starting point to create something more unique.

Business Hours

Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna.

Our Location

Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.

Questions or comments

Cras mattis consectetur purus sit amet fermentum.

Drop us a line

Tell your friends: Facebook, Twitter, Google+

© 2015 Pet Clinic, A Spring Framework Demonstration

\ No newline at end of file diff --git a/src/main/webapp/static/dist/robots.txt b/src/main/webapp/static/dist/robots.txt new file mode 100644 index 000000000..ee2cc216a --- /dev/null +++ b/src/main/webapp/static/dist/robots.txt @@ -0,0 +1,3 @@ +# robotstxt.org/ + +User-agent: * diff --git a/src/main/webapp/static/dist/scripts/main.js b/src/main/webapp/static/dist/scripts/main.js new file mode 100644 index 000000000..96e0f4204 --- /dev/null +++ b/src/main/webapp/static/dist/scripts/main.js @@ -0,0 +1 @@ +"use strict";function scrollNav(){$(".js-scroll-nav").click(function(){return $("html, body").stop().animate({scrollTop:$($(this).attr("href")).offset().top-20},1e3),!1})}$(function(){scrollNav()}); \ No newline at end of file diff --git a/src/main/webapp/static/dist/scripts/vendor.js b/src/main/webapp/static/dist/scripts/vendor.js new file mode 100644 index 000000000..5eb68087e --- /dev/null +++ b/src/main/webapp/static/dist/scripts/vendor.js @@ -0,0 +1,3 @@ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(hb.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=ob[a]={};return _.each(a.match(nb)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ub,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:tb.test(c)?_.parseJSON(c):c}catch(e){}sb.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Kb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)rb.set(a[c],"globalEval",!b||rb.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(rb.hasData(a)&&(f=rb.access(a),g=rb.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sb.hasData(a)&&(h=sb.access(a),i=_.extend({},h),sb.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&yb.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Ob[a];return c||(c=t(a,b),"none"!==c&&c||(Nb=(Nb||_("