Node/Express Site with Nodemailer – MEAN Stack Research Assignment
Using our Express-generated app skeleton from class as a starting point (or a brand new Express skeleton, preferably), add the following:
(1) Build out a few ‘standard’ routes (contact, team, etc.) in the application, typical of standard company/agency links; each route should render out a full HTML-based page, but you do not need any actual content other than placeholder text/image content in each view. Have links for each of the routes in a basic menu.
(2) Install the Nodemailer module through npm to make it available locally in your application. Use the Nodemailer documentation as a guide and build a route and a view (form) to enable sending an email through a mail service (NOTE: If you use Gmail you may get a warning email when you test it that your Google credentials were used by an ‘unsafe’ app, that is to be expected). Remember to search for Nodemailer from the npm main site, and you will get to the documentation that will show you how to set everything up.
(3) Use of partials/includes in ejs, the page renderer you are currently using, so that you can create and include ‘proper’ modular views (e.g., header, footer, menu). Modify the full-page [url removed, login to view] example into a more modular form.
(4) Add some CSS styling to the ejs template views in your application, again not a fully designed layout but sufficient styling to make your app visually distinct.
(5) Research and use a second module to add different functionality to your site. The goal here is to have you become more familiar with available modules, and the process of including them in your apps via npm, [url removed, login to view], etc. NOTE: Do not go for an authorization module like Passport, or a database module, at this stage as there is a lot of extra detail involved. Look for something simpler like QRCode generation, Colors, etc.
(6) Create a new Express generated skeleton but use [url removed, login to view] as your view render engine instead of ejs. (Use partials here also as described above, but find the handlebars method for including). Research how to tweak that renderer parameter when you set up your Express app skeleton (we also discussed this detail in class).