Skip to content

Authentication, Authorization Application Example using AuthJS v5, Typescript, Prisma(PostgreSql/Neon), Shadcn/ui, Tailwind and NextJS

Notifications You must be signed in to change notification settings

khoido2003/Next-Auth-Example

Repository files navigation

Auth logo

Next.js Authentication Application Example

This project showcases user authentication using AuthJS v5, Typescript, Prisma(PostgreSql), Shadcn/UI, and Tailwind CSS.

Screenshots

Screenshot 1 Sign in Page.

Screenshot 2 Sign up Page.

Features

  • User authentication with NextAuth
  • Database integration with Prisma
  • Two-factor authentication
  • Email verification
  • Password reset functionality
  • Role-based access (User and Admin)
  • UI components from Shadcn/UI
  • Darkmode integration
  • Styling with Tailwind CSS

Database Diagram

Database Diagram Database example.

Prerequisites

Make sure you have the following installed before running the project:

  • Node.js and npm (Node Package Manager)
  • PostgreSQL database (or another supported database for Prisma)

Getting Started

  1. Clone the repository:

    git clone https://github.com/khoido2003/Next-Auth-Example.git
    cd Next-Auth-Example
  2. Install dependencies:

    npm install
  3. Set up your environment variables:

    Create a .env.local file in the root directory and add the following:

    DATABASE_URL=""
    DIRECT_URL=""
    AUTH_SECRET=''
    GOOGLE_CLIENT_ID=
    GOOGLE_CLIENT_SECRET=
    GITHUB_CLIENT_ID=
    GITHUB_CLIENT_SECRET=
    # Add other necessary environment variables for Prisma and NextAuth
  4. Run database migrations:

    npx prisma migrate dev
  5. Start the development server:

    npm run dev

    The application will be available at http://localhost:3000.

Project Structure

  • pages/: Next.js pages
  • public/: Static assets
  • styles/: Global styles and Tailwind CSS configurations
  • components/: Reusable React components
  • prisma/: Prisma database schema and configurations

Technologies Used

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

About

Authentication, Authorization Application Example using AuthJS v5, Typescript, Prisma(PostgreSql/Neon), Shadcn/ui, Tailwind and NextJS

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published