Skip to content

Latest commit

 

History

History
58 lines (44 loc) · 2.47 KB

File metadata and controls

58 lines (44 loc) · 2.47 KB

Goudster

Website GitHub package.json version node-current

Commercial website for the beer brand Goudster from Halen, Belgium.

Designed in AdobeXD and built with care in NodeJs by Joris Raymaekers.

See more @ liondigits.com

Tech stack

Front end features

  • Responsive design with mobile first approach
  • Bottom menu on mobile, top menu on desktop
  • Custom built company history timeline
  • Fade-in animations for timeline items via Intersection Observer API
  • GDPR compliant forms with active consent before button can be clicked
  • Modal pop-up on page load for active age consent
  • Cookie bar pop-up with link to privacy-policy
  • User consent setting is stored in and read from cookie
  • Custom Map via Google Maps API with Advanced Marker Elements
  • Flash card pop-ups for client side validation errors and server side messages
  • Debounce functionality for form submit buttons to prevent multiple submissions
  • Custom error page for 404 and server side errors
  • Snow.js integration with custom toggle in menu to enable/disable animation

Backend features

  • ExpressJs web server
  • Server side HTML rendering with EJS
  • Newsletter sign up handling via Mailgun API.
  • Contact form handling via Nodemailer and Mailgun API.
  • Server side form content validation (Express-validatorJs)
  • Age verification: input birthday validation check
  • Routing with Express-Router
  • Jest Integration Testing for route handlers and form validation
  • Middleware for spam prevention

Task runner and build tools

Gulp task runner with browser-sync and nodemon. CSS written in SASS. JavaScript compilation with Webpack. Type is set to modules: files with .js extension are ES6. CommonJs files have the .cjs extension.

Dev notes:

  • both development and production versions require access to the correct environment variables.
  • the bash deploy script is meant to be run on a VPS or dedicated build server
  • As of december 2023 dev dependencies are updated to work with with Node v20.
  • see changelog for version history