No description
Find a file
2023-07-18 19:19:39 -07:00
.jest Adding jest setup and basic tests. 2022-01-28 15:04:29 -08:00
.vscode Adding wedding website files. 2021-06-03 17:58:40 -07:00
__tests__ Adding jest setup and basic tests. 2022-01-28 15:04:29 -08:00
components Update umami tracking events. 2023-04-24 18:36:48 -07:00
lib feat: 🎨 Wedding start refactor, fixes to header and APIs 2022-07-05 14:38:52 -07:00
models Adding wedding website files. 2021-06-03 17:58:40 -07:00
pages Update umami tracking events. 2023-04-24 18:36:48 -07:00
public Update setting of background image and update deps. 2022-03-22 16:03:51 -07:00
seed-data Adding wedding website files. 2021-06-03 17:58:40 -07:00
styles Adding wedding website files. 2021-06-03 17:58:40 -07:00
utils feat: Umami Analytics added 2022-07-05 15:40:26 -07:00
.gitignore Updating gitignore for env. 2021-06-04 13:42:48 -07:00
jest.setup.js Adding jest setup and basic tests. 2022-01-28 15:04:29 -08:00
next.config.js Update setting of background image and update deps. 2022-03-22 16:03:51 -07:00
package-lock.json Merge pull request #5 from BradNut/dependabot/npm_and_yarn/fast-xml-parser-and-aws-sdk/credential-providers-4.2.4 2023-07-18 19:19:39 -07:00
package.json Bump mongoose from 6.7.2 to 6.11.3 2023-07-18 21:12:58 +00:00
README.md Adding mock login and test data for RSVP get and submit. Must be removed along with reinstating DB connect calls if deploying real world production. 2021-06-04 11:11:00 -07:00
sample.env Adding more info to the readme, adding test site login chagnes to allow session login without DB, adding sample env. 2021-06-04 10:20:23 -07:00

Wedding Website

This is a skeleton template of the wedding website I created

Features include:

  • Password login for site access
  • RSVP page for groups or individuals
  • Pages that include:
    • Home Page
    • Wedding Party
    • Photos pages
    • Q&A
    • Travel information
    • RSVP forms

Detailed Info

Names, Dates, Locations are all hardcoded to a value

The site implements a basic auth with next-iron-session to protect access without knowing the password to the site.

The code is set up to use a MongoDB instace, ENV MONGO_URL, but this could easily be swapped for any DB. For the purposes of deploying this template for viewing the data is hardcoded.

Use of CSS variables at a Layout level allows for theming and is easily extensible.

Adding, Updating, and Deleting of guests and groups is currently done manually on the DB or on a deployment of the admin specific branch.

This admin branch is not included yet in this example site as no roles or permissions have been set up. However, this branch does include additional pages to add, edit, and delete these guests and groups.

If deploying to production please remove all sections that have the following: // TODO: REMOVE THIS WHEN TAKING YOUR SITE TO PRODUCTION

Tech

Overall a typical NextJS Application using ReactJS and basic authentication.

Frontend

  • ReactJS
  • Styled Components
  • Images
    • Loaded using either the default NextJS image with custom blur animation
    • Or loading using Cloudinary on NextJS image and custom blur

Backend

  • NextJS APIs
  • Next Iron Session for Login
    • Server side rendering of base pages checking to see if user is logged in
    • Requires ENV variable of SECRET_COOKIE_PASSWORD to be set
  • Mongoose DB for MongoDB
    • Used to store RSVPs and default logins

Future Changes

  1. On/Off feature for public vs password protected sites
  2. Build in auth permissions to allow guest vs admin roles
  3. If roles available then add in the admin pages for create, update, and deletion of guests/groups
  4. Add more theming options and easy customization of pages, resources, etc.
  5. Email reminder option