Overview
This project is a basic, secure, production-ready website. It includes a landing page with a modern UI, a navigation menu with mobile-friendly menus, email registration and login functionality, and an admin page with create, read, update, and delete operations. The code is clear, fully commented, and customizable. It can serve as a base for creating code demos that require Nuxt, Node.js, and/or Express.
Features
- Landing Page: Includes a modern UI and sample sections.
- Nav with Mobile-Friendly Menus: Provides a navigation menu with mobile-friendly menus.
- Email Registration and Login: Allows users to register and log in using email credentials.
- Admin Page with CRUD Operations: Provides an admin page with create, read, update, and delete operations.
- Security Best Practices: Includes security best practices throughout the code.
- Clear and Fully Commented Code: The code is easy to understand and customize.
- Use as Base for Code Demos: Can serve as a base for creating code demos that require Nuxt, Node.js, and/or Express.
Installation
- Clone the project and install dependencies:
git clone https://github.com/adamlove01/nuxt-ssr-secure-website.git
cd nuxt-ssr-secure-website
npm install
Set up a local database that is supported by Knex.js (e.g. Postgres, MSSQL, MySQL, MariaDB, Oracle, or Amazon Redshift).
- Example for Postgres on MacOS using Brew:
brew install postgres brew services start postgresql - Create a database, user, and grant user privileges:
psql postgres create database myDatabase; create user myUser with encrypted password 'myPassword'; grant all privileges on database myDatabase to myUser; - Exit psql:
\q
- Example for Postgres on MacOS using Brew:
Install a Node.js database driver in your project. For example, if you are using Postgres, the ‘pg’ driver is already installed. If you are using another database (e.g. MariaDB, MySQL), uninstall ‘pg’ and install the respective database connector (‘mysql’ in this example):
cd nuxt-s npm uninstall pg npm install mysql
Summary
This project provides a secure, production-ready website built using Nuxt.js, Express, and Vuetify. It includes features such as a landing page with a modern UI, mobile-friendly menus, email registration and login, and an admin page with CRUD operations. The code is clear, fully commented, and follows security best practices. It can be used as a base for creating code demos that require Nuxt, Node.js, and/or Express.