weddingsite/README.md

54 lines
2 KiB
Markdown
Raw Normal View History

2021-06-04 00:58:40 +00:00
# Wedding Website
## This is a skeleton template of the wedding website I created
2021-06-04 01:08:56 +00:00
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
2021-06-04 00:58:40 +00:00
## Names, Dates, Locations are all hardcoded to a value
The site implements a basic auth with [next-iron-session](https://github.com/vvo/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.
2021-06-04 00:58:40 +00:00
## Tech
2021-06-04 01:08:56 +00:00
Overall a typical NextJS Application using ReactJS and basic authentication.
2021-06-04 01:08:56 +00:00
2021-06-04 00:58:40 +00:00
### Frontend
2021-06-04 01:08:56 +00:00
2021-06-04 00:58:40 +00:00
- ReactJS
- Styled Components
2021-06-04 01:08:56 +00:00
- Images
- Loaded using either the default NextJS image with custom blur animation
- Or loading using Cloudinary on NextJS image and custom blur
2021-06-04 00:58:40 +00:00
### Backend
2021-06-04 01:08:56 +00:00
2021-06-04 00:58:40 +00:00
- NextJS APIs
2021-06-04 01:08:56 +00:00
- 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
2021-06-04 00:58:40 +00:00
- 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