Overview:
This product is a full stack boilerplate for authentication using a JWT (JSON Web Token) strategy. It utilizes NodeJS with TypeScript in the back-end and VueJS with JavaScript in the front-end. The product features various pages such as a register page, log in page, log out page, profile page, dashboard page, and custom 404 page. It also includes Vue route guards for protecting private routes, user information stored in Pinia for persistence, responsive design with Tailwind CSS, modern notifications, error handling, input validation, and JWT authentication as an HTTP only cookie in the browser.
Features:
- Register Page: Allows users to register for an account.
- Log in Page: Allows users to log in to their account.
- Log out Page: Allows users to log out of their account.
- Profile Page: Displays user information and allows for editing.
- Dashboard Page: Provides a dashboard for users to view relevant information.
- Custom 404 Page: Displays a customized page for 404 errors.
- Vue Route Guards: Protects private and protected routes.
- User information stored persisted in Pinia: Ensures user information is stored persistently using Pinia.
- Responsive Design with Tailwind CSS: Provides a responsive design that adapts to different screen sizes using Tailwind CSS.
- Modern Notifications: Utilizes modern notification techniques for improved user experience.
- Error Handler: Handles errors gracefully and provides appropriate feedback to users.
- Input Validation: Performs validation of user inputs to ensure data integrity.
- JWT authentication as an HTTP only cookie in the browser: Implements a JWT authentication strategy using HTTP only cookies for improved security.
Installation:
To set up the product locally, follow the steps below:
Server:
- Clone the repository to your local machine.
- Navigate to the server directory.
- Install the dependencies by running the command
npm install. - Create a
.envfile and add the necessary environment variables. - Start the server by running the command
npm start.
Client:
- Navigate to the client directory.
- Install the dependencies by running the command
npm install. - Create a
.envfile and add the necessary environment variables. - Start the client by running the command
npm run serve.
Summary:
This full stack boilerplate provides a secure and efficient solution for implementing authentication using a JWT strategy. With features such as user registration, log in, log out, profile management, and a responsive dashboard, it offers a comprehensive solution for managing user authentication in a web application. The use of modern technologies such as TypeScript, VueJS, and Tailwind CSS ensures a robust and user-friendly experience. The installation process is relatively straightforward, making it easy for developers to set up and customize the boilerplate according to their requirements.