Overview
Embark on a journey through a cutting-edge full-stack web application, meticulously crafted with Nextjs 13.5.5 and TypeScript, featuring robust JWT authentication and seamless Stripe payment processing.
Table of Contents
Links
- Live Site: Experience the live website.
- Project Overview Video: Delve into the project overview video (5 mins).
- Github Repo: Explore the GitHub repository for this project.
Preview



How to run
Follow these steps to run the project:
- Clone the project from the GitHub repo.
- Run
yarn installto install all the dependencies. - Run
yarn prisma migrate dev --name initto migrate the database (ensure Postgres is installed). - Run
yarn run devto start the project.
My Process
In building this application, I opted for RTK Query data fetching in the authentication process. Departing from the conventional jsonwebtoken, I embraced the jose package for JWT authentication. This alternative not only adheres to JWT authentication principles but also offers additional features for enhanced functionality.
Webhooks seamlessly handle Stripe test payment processing, simplifying configuration while providing extensive features.
For a comprehensive understanding of the system, watch this 5-minute video overview.
Built With
- React: JS library
- Next.js 13.5.5: React framework
- TypeScript: JS Superset
- axios: Promise-based HTTP client
- TailwindCSS: CSS framework
- Shadcn-ui: UI Component library
- React-hook-form: Forms
- React-redux: State Management
- RTK-query: Data Fetching
- Zod: Data Validation
- Prisma: ORM
- PostgreSQL: Database
- Stripe: Payment Processing
- Vercel: Hosting
- Jose: JWT Authentication
- Bcryptjs: Password Hashing
- EsLint: Linter
Features
Users can:
- Enjoy a beautiful, animated, and responsive landing page
- Login and register using their name, email, and password
- Select desired products from the provided listings
- Adjust the quantity of selected products in the cart
- Make secure payments using the Stripe payment gateway
Embark on a seamless journey of user-friendly interactions with NEXTJS + JWT + STRIPE!


